4

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)
Alexey Usharovski
  • 1,404
  • 13
  • 31

5 Answers5

2

I had this situation and I solved it by deleting TMP and DATA folders from ../wildfly_path/myApp/ folder and then restart myApp.

octavian09
  • 139
  • 1
  • 3
1

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>
VMA
  • 89
  • 1
  • 4
  • 16
  • 1
    Thank you. Finally, I resolve the issue by a server restart. From interaction with WildFly developers I've got that possibly here is some rare situation with race conditions. BTW. Since that, I can't reproduce the issue anymore. – Alexey Usharovski Dec 17 '19 at 18:08
  • 1
    @AlexeyUsharovski After an EJB instantiation error, where I annotated the wrong class the wildfy insistantly show this exception, when I fixed and restart everything back to work. – David Clifte May 18 '20 at 22:37
1

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!

merry
  • 11
  • 2
1

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.

Daniele Licitra
  • 1,520
  • 21
  • 45
0

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.