<div dir="ltr">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.<div><br></div><div>Stuart</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Sep 19, 2018 at 2:19 AM Peter Palaga &lt;<a href="mailto:ppalaga@redhat.com">ppalaga@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi *,<br>
<br>
I cannot find any info about what (if any) are the guarantees for <br>
ordering and exit of DeploymentUnitProcessors (DUPs) in case of an EAR <br>
that contains multiple WARs.<br>
<br>
I have a situation like this: MyDUP1 is registered for Phase.PARSE and <br>
MyDup2 is registered for Phase.DEPENDENCIES.<br>
I can see from the logs that MyDUP1.deploy(ear), <br>
MyDUP1.deploy(ear.war1), MyDUP1.deploy(war2), etc. are executed by <br>
distinct threads which is perfectly OK.<br>
I&#39;d like to know if there is any guarantee that MyDup2.deploy(*) <br>
observes the completion of MyDUP1.deploy(ear), MyDUP1.deploy(ear.war1), <br>
MyDUP1.deploy(ear.war2), etc.?<br>
<br>
MyDUP1.deploy() collects some info from the EAR and the WARs and stores <br>
it as an attachment of the DeploymentUnit. MyDup2.deploy() is supposed <br>
to read that attachment and so it is important that the info is complete <br>
when MyDup2.deploy() reads it.<br>
<br>
Thanks,<br>
<br>
-- Peter<br>
_______________________________________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a><br>
</blockquote></div>