For ear deployments each phase is first run for the ear, then run for all sub deployments in parallel. This means that any changes made by the ear deployer are visible, however you need to be careful about thread safety for the sub deployments if you are working with things attached to the top level ear, as multiple threads may be doing the same thing.

Stuart

On Wed, Sep 19, 2018 at 2:19 AM Peter Palaga <ppalaga@redhat.com> wrote:
Hi *,

I cannot find any info about what (if any) are the guarantees for
ordering and exit of DeploymentUnitProcessors (DUPs) in case of an EAR
that contains multiple WARs.

I have a situation like this: MyDUP1 is registered for Phase.PARSE and
MyDup2 is registered for Phase.DEPENDENCIES.
I can see from the logs that MyDUP1.deploy(ear),
MyDUP1.deploy(ear.war1), MyDUP1.deploy(war2), etc. are executed by
distinct threads which is perfectly OK.
I'd like to know if there is any guarantee that MyDup2.deploy(*)
observes the completion of MyDUP1.deploy(ear), MyDUP1.deploy(ear.war1),
MyDUP1.deploy(ear.war2), etc.?

MyDUP1.deploy() collects some info from the EAR and the WARs and stores
it as an attachment of the DeploymentUnit. MyDup2.deploy() is supposed
to read that attachment and so it is important that the info is complete
when MyDup2.deploy() reads it.

Thanks,

-- Peter
_______________________________________________
wildfly-dev mailing list
wildfly-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev