]
RH Bugzilla Integration commented on WFLY-4156:
-----------------------------------------------
Ivo Studensky <istudens(a)redhat.com> changed the Status of [bug
WildFly is not able to parse ejb-jar.xml of version 2.0
-------------------------------------------------------
Key: WFLY-4156
URL:
https://issues.jboss.org/browse/WFLY-4156
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 9.0.0.Alpha1
Reporter: Ivo Studensky
Assignee: Ivo Studensky
- While using "ejb-jar.xml" of version 2.0 as following EAP/WildFly throws the
parsing error:
{code}
<?xml version="1.0"?>
<!DOCTYPE ejb-jar
PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
"http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<message-driven>
<ejb-name>ExampleMDB</ejb-name>
<ejb-class>test.mdb.ExampleMDB</ejb-class>
<transaction-type>Container</transaction-type>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
<resource-ref>
<res-ref-name>jms/QueueConnectionFactory</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</message-driven>
</enterprise-beans>
</ejb-jar>
{code}
- The following error is encountered at the time of deployment:
{code}
17:40:04,405 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001:
Failed to start service jboss.deployment.unit."TestEJB.jar".PARSE:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."TestEJB.jar".PARSE: JBAS018733: Failed to process phase
PARSE of deployment "TestEJB.jar"
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127)
[jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
[jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
[jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
[rt.jar:1.6.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
[rt.jar:1.6.0_45]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS014185:
Exception while parsing ejb-jar.xml: /content/TestEJB.jar/META-INF/ejb-jar.xml
at
org.jboss.as.ejb3.deployment.processors.EjbJarParsingDeploymentUnitProcessor.parseEjbJarXml(EjbJarParsingDeploymentUnitProcessor.java:250)
at
org.jboss.as.ejb3.deployment.processors.EjbJarParsingDeploymentUnitProcessor.deploy(EjbJarParsingDeploymentUnitProcessor.java:121)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120)
[jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
... 5 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[14,10]
Message: Unexpected element 'message-driven-destination' encountered
at
org.jboss.metadata.parser.util.MetaDataElementParser.unexpectedElement(MetaDataElementParser.java:109)
at
org.jboss.metadata.ejb.parser.spec.AbstractMetaDataParser.processElement(AbstractMetaDataParser.java:56)
at
org.jboss.metadata.ejb.parser.spec.AbstractNamedMetaDataWithDescriptionGroupParser.processElement(AbstractNamedMetaDataWithDescriptionGroupParser.java:67)
at
org.jboss.metadata.ejb.parser.spec.AbstractEnterpriseBeanMetaDataParser.processElement(AbstractEnterpriseBeanMetaDataParser.java:85)
at
org.jboss.metadata.ejb.parser.spec.AbstractMessageDrivenBeanParser.processElement(AbstractMessageDrivenBeanParser.java:94)
at
org.jboss.metadata.ejb.parser.spec.MessageDrivenBean31Parser.processElement(MessageDrivenBean31Parser.java:77)
at
org.jboss.metadata.ejb.parser.spec.MessageDrivenBean31Parser.processElement(MessageDrivenBean31Parser.java:37)
at
org.jboss.metadata.ejb.parser.spec.AbstractMetaDataParser.processElements(AbstractMetaDataParser.java:69)
at
org.jboss.metadata.ejb.parser.spec.MessageDrivenBean31Parser.parse(MessageDrivenBean31Parser.java:44)
at
org.jboss.metadata.ejb.parser.spec.EnterpriseBeansMetaDataParser.processElement(EnterpriseBeansMetaDataParser.java:99)
at
org.jboss.metadata.ejb.parser.spec.EnterpriseBeansMetaDataParser.processElement(EnterpriseBeansMetaDataParser.java:40)
at
org.jboss.metadata.ejb.parser.spec.AbstractMetaDataParser.processElements(AbstractMetaDataParser.java:69)
at
org.jboss.metadata.ejb.parser.spec.EnterpriseBeansMetaDataParser.parse(EnterpriseBeansMetaDataParser.java:75)
at
org.jboss.metadata.ejb.parser.spec.EnterpriseBeansMetaDataParser.parse(EnterpriseBeansMetaDataParser.java:68)
at
org.jboss.metadata.ejb.parser.spec.AbstractEjbJarMetaDataParser.processElement(AbstractEjbJarMetaDataParser.java:112)
at
org.jboss.metadata.ejb.parser.spec.AbstractEjbJarMetaDataParser.processElement(AbstractEjbJarMetaDataParser.java:39)
at
org.jboss.metadata.ejb.parser.spec.AbstractMetaDataParser.processElements(AbstractMetaDataParser.java:69)
at
org.jboss.metadata.ejb.parser.spec.EjbJarMetaDataParser.parseDocument(EjbJarMetaDataParser.java:110)
at
org.jboss.metadata.ejb.parser.spec.EjbJarMetaDataParser.parse(EjbJarMetaDataParser.java:54)
at
org.jboss.as.ejb3.deployment.processors.EjbJarParsingDeploymentUnitProcessor.parseEjbJarXml(EjbJarParsingDeploymentUnitProcessor.java:247)
... 7 more
17:40:04,422 ERROR [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870:
Deploy of deployment "TestEJB.jar" was rolled back with the following failure
message:
{"JBAS014671: Failed services" =>
{"jboss.deployment.unit.\"TestEJB.jar\".PARSE" =>
"org.jboss.msc.service.StartException in service
jboss.deployment.unit.\"TestEJB.jar\".PARSE: JBAS018733: Failed to process phase
PARSE of deployment \"TestEJB.jar\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException:
JBAS014185: Exception while parsing ejb-jar.xml:
/content/TestEJB.jar/META-INF/ejb-jar.xml
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[14,10]
Message: Unexpected element 'message-driven-destination' encountered"}}
{code}
**NOTE:** According to the link [1] EJB2.0 is supported with EAP6 so ideally JBoss should
be able to parse the "ejb-jar.xml" of version 2.0 DTDs.
**NOTE:** there is a feature request seen for JBossAS7 for requesting support for
ejb-jar.xml 2.0 DTDs [2]
[1]
https://access.redhat.com/site/articles/113373
[2]
https://issues.jboss.org/browse/JBMETA-354
Version-Release number of selected component (if applicable):
How reproducible:
Steps to Reproduce:
1. Deploy an MDB based EJB jar in EAP6/WildFly and use the ejb-jar.xml as mentioned in
the issue description.
Actual results:
- EAP6/WildFly should be able to parse the ejb-jar.xml properly and should deploy the MDB
properly.
Expected results:
- Deployment should be successful.