[
https://issues.jboss.org/browse/WFLY-12462?page=com.atlassian.jira.plugin...
]
Jaikiran Pai commented on WFLY-12462:
-------------------------------------
[~usharik], I have followed almost the exact steps that you mention with the application
that you shared. I haven't used maven WildFly plugin for deployment, but I have
manually copied the war into the standalone/deployments directory when the server was up
and running. I haven't see any issues. I don't think the Maven WildFly plugin is
playing a role in this.
So I went and looked in a bit more detail, the WildFly code where this java:jboss/exported
bindings are done for the EJBs (it's in
org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor). Unlike
other bindings, this one has some special code to handle the binding, so it's one hint
that there might really be a potential issue here. The code here uses a
"wrapped" binding depending on whether or not "request-controller"
subsystem is active. Default installations of WildFly have that subsystem active. Then,
there's another piece of code
(org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor) where there's a check
for equality for the "source" of these bindings and that's where this check
is failing and logging the exception for you:
{quote}
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
{quote}
It's been a while since I have looked into this code so I have more than one question
(for myself) to understand what this code is doing and why, but there seem to be enough
hints to suggest that you might indeed be running into some sort of a bug.
We might need your help to debug this further. Is this consistently reproducible for you?
If yes, it's a good sign. In that case, can you edit your standalone-full.xml file
which currently will have something like this:
{code}
<subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
{code}
As a first step, stop your server, then edit this file and delete that line from that
file. Then start your server and deploy the application. Let us know what happens and
whether or not your application deployment succeeds. Try it a few times to get some
consistent results.
It won't solve anything but will give us enough hints to focus in the right place.
Incompatible conflicting binding Exception and EJB naming
---------------------------------------------------------
Key: WFLY-12462
URL:
https://issues.jboss.org/browse/WFLY-12462
Project: WildFly
Issue Type: Bug
Components: CDI / Weld, EJB
Affects Versions: 17.0.1.Final
Environment: MacOS High Sierra
Reporter: Alexey Usharovski
Assignee: Cheng Fang
Priority: Minor
Attachments: server.log.zip, simplewebapp-lesson-6-ejb.zip, war-content.txt.zip
Wired exception for very simple EJB with @Remote annotated interface in time of deploy to
WildFly 17.0.1.Final
{code:java}
@Stateless
public class UserServiceImpl implements UserServiceRemote {
@Override
public List<UserRepr> getAllUsers() {
return null;
}
}
@Remote
public interface UserServiceRemote {
List<UserRepr> getAllUsers();
}
{code}
The exception is
{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:" => [
"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]" ] }
{code}
Notice that problem could be resolved by undeploy and Wildfly server restart. May be
something wrong with JNDI content?
I've tried to look through the web console but found nothing interesting.
Full application code on GitHub
https://github.com/usharik/simplewebapp/tree/lesson-6-ejb
--
This message was sent by Atlassian Jira
(v7.13.5#713005)