wildfly not crating jndi bindings for beans implementing 2 interfaces
mrbioeng Mar 14, 2019 5:07 AMI am having an issues with Wildfly 15.0.0 that it's not creating a JNDI for an EJB that is implementing both local and remote interfaces. My classes are as follows:
Local interface:
@Local
public interface BlockingManagerRemote{ }
Remote interface:
@Remote
public interface BlockingManagerLocal{ }
implementation:
@Remote({BlockingManagerRemote.class})
@Local({BlockingManagerLocal.class})
@Stateless
public class BlockingManager implements BlockingManagerRemote, BlockingManagerLocal { }
I get the following message first:
2019-03-13 12:09:57,459 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-3) WFLYEJB0111: No jndi bindings will be created for EJB BlockingManager since no views are exposed
And When trying to inject this EJB in another class as follows:
@Remote({BusinessUserManagerRemote.class})
@Local({BusinessUserManagerLocal.class})
@Stateless
public class BusinessUserManager implements BusinessUserManagerLocal, BusinessUserManagerRemote {
@EJB
private BlockingManagerLocal blockingManager;
}
I get this exception:
2019-03-13 12:09:58,469 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.subunit."mpaymentapp-ear.ear"."mpaymentapp-service-1.0.3-SNAPSHOT.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."mpaymentapp-ear.ear"."mpaymentapp-service-1.0.3-SNAPSHOT.jar".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of subdeployment "mpaymentapp-service-1.0.3-SNAPSHOT.jar" of deployment "mpaymentapp-ear.ear" at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738) at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700) at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558) at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1364) at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0052: Failed to install component BusinessUserManager at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:109) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144) ... 8 more
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEJB0406: No EJB found with interface of type 'com.cit.mpaymentapp.common.blocking.BlockingManagerLocal' for binding com.cit.mpaymentapp.service.registration.BusinessUserManager/blockingManager at org.jboss.as.ejb3.deployment.processors.EjbInjectionSource.getResourceValue(EjbInjectionSource.java:90) at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.processBindings(ComponentInstallProcessor.java:263) at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.access$000(ComponentInstallProcessor.java:80) at org.jboss.as.ee.component.deployers.ComponentInstallProcessor$1.handle(ComponentInstallProcessor.java:215) at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54) at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deployComponent(ComponentInstallProcessor.java:218) at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:101)
...
9 more
The same code was working on EAP6. Why Wildfly is not recognizing the local interface BlockingManagerLocal
?