title: WFLYEE0047: Incompatible conflicting binding at
body: <p>Got wired exception for very simple <code>EJB</code> with <code>@Remote</code> annotated interface in time of deploy to WildFly 17.0.1.Final</p>
  
  <pre class="lang-java prettyprint-override"><code>@Stateless
  public class UserServiceImpl implements UserServiceRemote {
  
     @Override
     public List&lt;UserRepr&gt; getAllUsers() {
        return null;
     }
  }
  </code></pre>
  
  <pre class="lang-java prettyprint-override"><code>@Remote
  public interface UserServiceRemote {
  
      List&lt;UserRepr&gt; getAllUsers();
  }
  </code></pre>
  
  <p>The exception is</p>
  
  <pre><code>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:" =&gt; [
          "jboss.deployment.unit.\"simple-webapp.war\".beanmanager",
          "jboss.deployment.unit.\"simple-webapp.war\".WeldStartService"
      ],
      "WFLYCTL0180: Services with missing/unavailable dependencies" =&gt; [
          "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]"
      ]
  }
  </code></pre>
  
  <p>Could you help with some common explanation of what could be wrong here? Which bindings are conflicting? </p>
  
  <p>At least what the meaning of this kind of exception? I don't know how to interpret it.</p>
  
  <p>UPD. If I rename UserServiceImpl to UserServiseRemImpl it works. WTH is here?))))</p>
  
  <p>UPD. Fragment from server logs with this exception</p>
  
  <pre><code>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" =&gt; {"jboss.deployment.unit.\"simple-webapp.war\".INSTALL" =&gt; "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:" =&gt; [
          "jboss.deployment.unit.\"simple-webapp.war\".beanmanager",
          "jboss.deployment.unit.\"simple-webapp.war\".WeldStartService"
      ],
      "WFLYCTL0180: Services with missing/unavailable dependencies" =&gt; [
          "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" =&gt; {"jboss.deployment.unit.\"simple-webapp.war\".INSTALL" =&gt; "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:" =&gt; [
          "jboss.deployment.unit.\"simple-webapp.war\".beanmanager",
          "jboss.deployment.unit.\"simple-webapp.war\".WeldStartService"
      ],
      "WFLYCTL0180: Services with missing/unavailable dependencies" =&gt; [
          "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)
  </code></pre>