[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