Reputation: 1442
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 [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:183)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1737)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1699)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1557)
at [email protected]//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at [email protected]//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at [email protected]//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 [email protected]//org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:298)
at [email protected]//org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:122)
at [email protected]//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)
Upvotes: 4
Views: 8088
Reputation: 21
In my case, it arose from inconsistencies around the declared db name in the service beans.
Resolve these discrepancies and restart jboss wildfly. The .ear should install.
Upvotes: 0
Reputation: 159
I had this situation and I solved it by deleting TMP and DATA folders from ../wildfly_path/myApp/ folder and then restart myApp.
Upvotes: 3
Reputation: 1608
I've the same issue with Wildfly 16.
I'am merging two library version and I forgot to copy an implementation of an interface.
For instance I've Packet_interface with AInterface and Packet_EJB with AImplementation. In BImplementation I use AInterface.
I forgot to copy AImplementation during merge.
The first launch of the application say:
not found a class implementing AInterface, used in BImplementation
I copy the forgotten clas, compile the EAR and deploy.
Now the error is
Caused by: java.lang.IllegalArgumentException: WFLYEE0047: Incompatible conflicting binding at ... refer to another EJB randomly
If i restart and redeploy the EAR, it say that i forgot CImplementation.
So, if you forgot a class or you have an unimplemented interface, correct the problem and restart wildfly.
Upvotes: 1
Reputation: 11
I just encounter the same issue today: Incompatible conflicting binding at java:jboss/exported/cloud/billing/CsOt125SkuProfileServiceImplRemote source
After removing the lib from the Artifacts war, and redeploy it works well!
Upvotes: 1
Reputation: 119
I was facing a similar issue where I was running into
"Caused by: java.lang.IllegalArgumentException: WFLYEE0047: Incompatible conflicting binding at" exception
I have my Session EJBs packaged in separate ejb artifact. I used the maven-ejb-plugin in ejb artifact POM.xml file:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<ejbVersion>3.0</ejbVersion>
<generateClient>true</generateClient>
<clientExcludes>
<clientExclude>**/*Bean.class</clientExclude>
</clientExcludes>
</configuration>
</plugin>
In your case, you can try out:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<ejbVersion>3.0</ejbVersion>
<generateClient>true</generateClient>
<clientExcludes>
<clientExclude>**/*Impl.class</clientExclude>
</clientExcludes>
</configuration>
</plugin>
Upvotes: 1