]
David Lloyd resolved JBMETA-370.
--------------------------------
Fix Version/s: 8.0.0.CR1
Resolution: Done
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
Fix For: 8.0.0.CR1
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: