Bug 1029260

Summary: [GSS] (6.4) Cannot use a ear-subdeployments-isolated attribute setting with a jboss-deployment-structure.xml
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Eiichi Nagai <enagai>
Component: EEAssignee: baranowb <bbaranow>
Status: CLOSED CURRENTRELEASE QA Contact: Pavel Slavicek <pslavice>
Severity: unspecified Docs Contact: Scott Mumford <smumford>
Priority: unspecified    
Version: 6.1.1CC: bbaranow, jmartisk, kkhan
Target Milestone: DR1   
Target Release: EAP 6.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
If you configure a ear-subdeployments-isolated attribute with <filename>jboss-deployment-structure.xml</filename> and put under a <EAR>/META-INF directory, the isolation flag was overwritten by the sub-system configuration. In JBoss EAP 6.4, this issue is fixed. The order of processing has been updated.
Story Points: ---
Clone Of:
: 1134806 (view as bug list) Environment:
Last Closed: 2019-08-02 07:31:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1134806    

Description Eiichi Nagai 2013-11-12 01:47:25 UTC
Created attachment 822734 [details]
simple reproducer

Description of problem:
Even if configure a ear-subdeployments-isolated attribute with jboss-deployment-structure.xml [1] and put under a <EAR>/META-INF directory, the isolation flag will be overwritten by the sub-system configuration [2].

[1] jboss-deployment-structure.xml
<jboss-deployment-structure>
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>
</jboss-deployment-structure>

[2] org.jboss.as.ee.component.deployers.DefaultEarSubDeploymentsIsolationProcessor.java
53#    @Override
54#    public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
55#        final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();
56#        // we only process .ear
57#        if (!DeploymentTypeMarker.isType(DeploymentType.EAR, deploymentUnit)) {
58#            return;
59#        }
60#        final ModuleSpecification moduleSpecification = deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION);
61#        // set the default ear subdeployment isolation value
-> 62#        moduleSpecification.setSubDeploymentModulesIsolated(earSubDeploymentsIsolated);
63#    }


Version-Release number of selected component (if applicable):
6.1.1
6.2.0 Beta1 (AS 7.3.0.Final-redhat-8)

How reproducible:
Always

Steps to Reproduce:
1. Run EAP 6 server (using a standalone.sh)
2. Depoloy a SimpleEAR.ear (This application sets a ear-subdeployments-isolated=true with META-INF/jboss-deployment-structure.xml).

Actual results:
3. You can deploy it.

Expected results:
4. Stop EAP 6 server.
5. Modify a standalone.xml
- Add following.

        <subsystem xmlns="urn:jboss:domain:ee:1.1">
            <ear-subdeployments-isolated>true</ear-subdeployments-isolated>

6. Run EAP 6 server (using a standalone.sh)
7. You cannot deploy the SimpleEAR.ear for NoClassDefFoundError or ClassNotFoundException.

I think that the result of Step 3 must be the same as this.

Comment 4 Jan Martiska 2014-09-18 06:59:28 UTC
Verified in EAP 6.4.0.DR1.1.