Got wired exception for very simple EJB
with @Remote
annotated interface in time of deploy to WildFly 17.0.1.Final
@Stateless
public class UserServiceImpl implements UserServiceRemote {
@Override
public List<UserRepr> getAllUsers() {
return null;
}
}
@Remote
public interface UserServiceRemote {
List<UserRepr> getAllUsers();
}
The exception is
Caused by: java.lang.IllegalArgumentException: WFLYEE0047: Incompatible conflicting binding at java:jboss/exported/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote source: org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor$2@6aba1c4b"},
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.deployment.unit.\"simple-webapp.war\".beanmanager",
"jboss.deployment.unit.\"simple-webapp.war\".WeldStartService"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.deployment.unit.\"simple-webapp.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"simple-webapp.war\".beanmanager]",
"jboss.deployment.unit.\"simple-webapp.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"simple-webapp.war\".beanmanager, jboss.deployment.unit.\"simple-webapp.war\".WeldStartService]"
]
}
Could you help with some common explanation of what could be wrong here? Which bindings are conflicting?
At least what the meaning of this kind of exception? I don't know how to interpret it.
UPD. If I rename UserServiceImpl to UserServiseRemImpl it works. WTH is here?))))
UPD. Fragment from server logs with this exception
17:58:33,380 INFO [org.jboss.as.jpa] (MSC service thread 1-5) WFLYJPA0002: Read persistence.xml for ds
17:58:33,451 INFO [org.jboss.weld.deployer] (MSC service thread 1-1) WFLYWELD0003: Processing weld deployment simple-webapp.war
17:58:33,489 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) WFLYEJB0473: JNDI bindings for session bean named 'UserRepository' in deployment unit 'deployment "simple-webapp.war"' are as follows:
java:global/simple-webapp/UserRepository!ru.geekbrains.persist.UserRepository
java:app/simple-webapp/UserRepository!ru.geekbrains.persist.UserRepository
java:module/UserRepository!ru.geekbrains.persist.UserRepository
ejb:/simple-webapp/UserRepository!ru.geekbrains.persist.UserRepository
java:global/simple-webapp/UserRepository
java:app/simple-webapp/UserRepository
java:module/UserRepository
17:58:33,489 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) WFLYEJB0473: JNDI bindings for session bean named 'RoleService' in deployment unit 'deployment "simple-webapp.war"' are as follows:
java:global/simple-webapp/RoleService!ru.geekbrains.jsf.RoleService
java:app/simple-webapp/RoleService!ru.geekbrains.jsf.RoleService
java:module/RoleService!ru.geekbrains.jsf.RoleService
ejb:/simple-webapp/RoleService!ru.geekbrains.jsf.RoleService
java:global/simple-webapp/RoleService
java:app/simple-webapp/RoleService
java:module/RoleService
17:58:33,491 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 379) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'simple-webapp.war#ds'
17:58:33,497 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) WFLYEJB0473: JNDI bindings for session bean named 'UserServiceImpl' in deployment unit 'deployment "simple-webapp.war"' are as follows:
java:global/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceLocal
java:app/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceLocal
java:module/UserServiceImpl!ru.geekbrains.jsf.UserServiceLocal
ejb:/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceLocal
java:global/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote
java:app/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote
java:module/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote
java:jboss/exported/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote
ejb:/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote
17:58:33,497 INFO [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 379) HHH000204: Processing PersistenceUnitInfo [
name: ds
...]
17:58:33,577 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.deployment.unit."simple-webapp.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."simple-webapp.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "simple-webapp.war"
at org.jboss.as.server@9.0.2.Final//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:183)
at org.jboss.msc@1.4.8.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1737)
at org.jboss.msc@1.4.8.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1699)
at org.jboss.msc@1.4.8.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1557)
at org.jboss.threads@2.3.3.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalArgumentException: WFLYEE0047: Incompatible conflicting binding at java:jboss/exported/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote source: org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor$2@73fbe2f8
at org.jboss.as.ee@17.0.1.Final//org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:298)
at org.jboss.as.ee@17.0.1.Final//org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:122)
at org.jboss.as.server@9.0.2.Final//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:176)
... 8 more
17:58:33,579 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 12) WFLYCTL0013: Operation ("full-replace-deployment") failed - address: ([]) - failure description: {
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"simple-webapp.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"simple-webapp.war\"
Caused by: java.lang.IllegalArgumentException: WFLYEE0047: Incompatible conflicting binding at java:jboss/exported/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote source: org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor$2@73fbe2f8"},
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.deployment.unit.\"simple-webapp.war\".beanmanager",
"jboss.deployment.unit.\"simple-webapp.war\".WeldStartService"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.deployment.unit.\"simple-webapp.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"simple-webapp.war\".beanmanager, jboss.deployment.unit.\"simple-webapp.war\".WeldStartService]",
"jboss.deployment.unit.\"simple-webapp.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"simple-webapp.war\".beanmanager]"
]
}
17:58:33,579 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 379) WFLYJPA0011: Stopping Persistence Unit (phase 1 of 2) Service 'simple-webapp.war#ds'
17:58:33,592 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) WFLYSRV0028: Stopped deployment simple-webapp.war (runtime-name: simple-webapp.war) in 12ms
17:58:33,593 ERROR [org.jboss.as.server] (management-handler-thread - 12) WFLYSRV0014: Replacement of deployment "simple-webapp.war" by deployment "simple-webapp.war" was rolled back with the following failure message:
{
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"simple-webapp.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"simple-webapp.war\"
Caused by: java.lang.IllegalArgumentException: WFLYEE0047: Incompatible conflicting binding at java:jboss/exported/simple-webapp/UserServiceImpl!ru.geekbrains.jsf.UserServiceRemote source: org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor$2@73fbe2f8"},
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.deployment.unit.\"simple-webapp.war\".beanmanager",
"jboss.deployment.unit.\"simple-webapp.war\".WeldStartService"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.deployment.unit.\"simple-webapp.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"simple-webapp.war\".beanmanager, jboss.deployment.unit.\"simple-webapp.war\".WeldStartService]",
"jboss.deployment.unit.\"simple-webapp.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"simple-webapp.war\".beanmanager]"
]
}
17:58:33,593 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0027: Starting deployment of "simple-webapp.war" (runtime-name: "simple-webapp.war")
17:58:34,214 INFO [org.jboss.as.jpa] (MSC service thread 1-1) WFLYJPA0002: Read persistence.xml for ds
17:58:34,235 INFO [org.jboss.weld.deployer] (MSC service thread 1-7) WFLYWELD0003: Processing weld deployment simple-webapp.war
17:58:34,239 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 379) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'simple-webapp.war#ds'
17:58:34,239 INFO [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 379) HHH000204: Processing PersistenceUnitInfo [
name: ds
...]
17:58:34,260 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-7) WFLYEJB0473: JNDI bindings for session bean named 'UserServiceBean' in deployment unit 'deployment "simple-webapp.war"' are as follows:
java:global/simple-webapp/UserServiceBean!ru.geekbrains.jsf.UserServiceLocalBean
java:app/simple-webapp/UserServiceBean!ru.geekbrains.jsf.UserServiceLocalBean
java:module/UserServiceBean!ru.geekbrains.jsf.UserServiceLocalBean
ejb:/simple-webapp/UserServiceBean!ru.geekbrains.jsf.UserServiceLocalBean
java:global/simple-webapp/UserServiceBean!ru.geekbrains.jsf.UserServiceRemoteBean
java:app/simple-webapp/UserServiceBean!ru.geekbrains.jsf.UserServiceRemoteBean
java:module/UserServiceBean!ru.geekbrains.jsf.UserServiceRemoteBean
java:jboss/exported/simple-webapp/UserServiceBean!ru.geekbrains.jsf.UserServiceRemoteBean
ejb:/simple-webapp/UserServiceBean!ru.geekbrains.jsf.UserServiceRemoteBean
17:58:34,260 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-7) WFLYEJB0473: JNDI bindings for session bean named 'UserRepository' in deployment unit 'deployment "simple-webapp.war"' are as follows:
java:global/simple-webapp/UserRepository!ru.geekbrains.persist.UserRepository
java:app/simple-webapp/UserRepository!ru.geekbrains.persist.UserRepository
java:module/UserRepository!ru.geekbrains.persist.UserRepository
ejb:/simple-webapp/UserRepository!ru.geekbrains.persist.UserRepository
java:global/simple-webapp/UserRepository
java:app/simple-webapp/UserRepository
java:module/UserRepository
17:58:34,260 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-7) WFLYEJB0473: JNDI bindings for session bean named 'RoleService' in deployment unit 'deployment "simple-webapp.war"' are as follows:
java:global/simple-webapp/RoleService!ru.geekbrains.jsf.RoleService
java:app/simple-webapp/RoleService!ru.geekbrains.jsf.RoleService
java:module/RoleService!ru.geekbrains.jsf.RoleService
ejb:/simple-webapp/RoleService!ru.geekbrains.jsf.RoleService
java:global/simple-webapp/RoleService
java:app/simple-webapp/RoleService
java:module/RoleService
17:58:34,322 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0005: Deploying non-JDBC-compliant driver class com.mysql.cj.jdbc.Driver (version 8.0)