[jboss-jira] [JBoss JIRA] (JBMETA-370) Deployment of a war with 2 web-fragments both containing ejb-local-refs fails
Robert Panzer (JIRA)
issues at jboss.org
Tue Jan 7 12:14:33 EST 2014
Robert Panzer created JBMETA-370:
------------------------------------
Summary: Deployment of a war with 2 web-fragments both containing ejb-local-refs fails
Key: JBMETA-370
URL: https://issues.jboss.org/browse/JBMETA-370
Project: JBoss Metadata
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: common
Environment: Win7, Oracle JDK 1.7.0_45, Wildfly 8.0.0-CR1
Reporter: Robert Panzer
When trying to deploy a WAR containing two web-fragments both containing ejb-local-refs the deployment fails with this error message:
17:54:24,669 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015876: Starting deployment of "testear.ear" (runtime-name: "testear.ear")
17:54:24,815 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "null" (runtime-name: "testwar.war")
17:54:24,815 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of "null" (runtime-name: "ejbjar.jar")
17:55:55,538 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.subunit."testear.ear"."testwar.war".PARSE: org.jboss.msc.service.StartExcep
tion in service jboss.deployment.subunit."testear.ear"."testwar.war".PARSE: JBAS018733: Failed to process phase PARSE of subdeployment "testwar.war" of deployment "testear.ear"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.0.0.Final-SNAPSHOT.jar:8.0.0.Final-SNAPSHOT]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.0.CR1.jar:1.2.0.CR1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.0.CR1.jar:1.2.0.CR1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS017318: Conflict occurred processing web fragment in JAR: fragment2.jar
at org.wildfly.extension.undertow.deployment.WarMetaDataProcessor.deploy(WarMetaDataProcessor.java:294)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.0.0.Final-SNAPSHOT.jar:8.0.0.Final-SNAPSHOT]
... 5 more
Caused by: java.lang.IllegalArgumentException: Null administeredObjects
at org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData.setAdministeredObjects(RemoteEnvironmentRefsGroupMetaData.java:431)
at org.jboss.metadata.merge.javaee.spec.RemoteEnvironmentRefsGroupMetaDataMerger.augment(RemoteEnvironmentRefsGroupMetaDataMerger.java:337)
at org.jboss.metadata.merge.javaee.spec.EnvironmentRefsGroupMetaDataMerger.augment(EnvironmentRefsGroupMetaDataMerger.java:71)
at org.jboss.metadata.merge.web.spec.WebCommonMetaDataMerger.augment(WebCommonMetaDataMerger.java:383)
at org.wildfly.extension.undertow.deployment.WarMetaDataProcessor.deploy(WarMetaDataProcessor.java:292)
... 6 more
17:55:55,621 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "testear.ear")]) - failure descr
iption: {"JBAS014671: Failed services" => {"jboss.deployment.subunit.\"testear.ear\".\"testwar.war\".PARSE" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"testear.ear\"
.\"testwar.war\".PARSE: JBAS018733: Failed to process phase PARSE of subdeployment \"testwar.war\" of deployment \"testear.ear\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS017318: Conflict occurred processing web fragment in JAR: fragment2.jar
Caused by: java.lang.IllegalArgumentException: Null administeredObjects"}}
17:55:55,881 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "testear.ear" (runtime-name : "testear.ear")
17:55:55,882 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014777: Services which failed to start: service jboss.deployment.subunit."testear.ear"."testwar.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."testear
.ear"."testwar.war".PARSE: JBAS018733: Failed to process phase PARSE of subdeployment "testwar.war" of deployment "testear.ear"
There seems to be an error in the class RemoteEnvironmentRefsGroupMetaDataMerger because it calls dest.setAdministeredObjects() during augmentation even if the fragment does not contain administered objects (but entries in the ENC so that the merger is called.)
I created a test application that shows the problem. You can find it at https://github.com/robertpanzer/webfragmenttest.git
I can also provide a PR.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list