<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <tt>Folks,<br>
      <br>
      the patch set is ready for review: <a
        href="https://github.com/jbossas/jboss-as/pull/3117">#3117</a><br>
      <br>
      This functionality is constraint to osgi only. If there is a
      bundle deployment that cannot resolve (possibly the user said so)
      I'll set the FIRST_MODULE_USE phase to initial NEVER. The
      deployment hangs in the configure module phase and awaits an
      external trigger. The bundle is metadata valid and in state
      Bundle.INSTALLED.<br>
      <br>
      A Bundle.start() operation sets up a service tracker and activates
      the deferred phase. this only succeeds if the bundle can get
      resolved and has a Module attached. The bundle deployment proceeds
      through the phases and activates. If there is failure in any of
      the tracked services Bundle.start() will fail with the root cause
      and <tt>the FIRST_MODULE_USE phase is set back to NEVER - this is
        a partial undeploy. After correcting the problem the user can
        re-attempt a Bundle.start().<br>
        <br>
        In case of bundles contained in an EAR, I set the <tt>FIRST_MODULE_USE
          phase of the EAR to PASSIVE. <br>
          <br>
          It is possible that some DUPs dont support repeated deploy
          calls (yet). In which case they use <br>
        </tt></tt></tt>
    <blockquote>
      <pre class="line"><span class="x">DeploymentUtils.skipRepeatedActivation(deploymentUnit,&nbsp;0)
</span></pre>
    </blockquote>
    <tt>with the number </tt><tt>of attempts they do support (see <a
href="https://github.com/tdiesler/jboss-as/commit/0f7fd068206f2a49c006f3c633057a2f3fcbdad6#diff-0">ModuleJndiBindingProcessor</a>).
      <br>
      <br>
      Some techs that support bundle deployments (i.e.
      web,jaxrs,jaxws,jpa,cdi,ejb3) may still need more work to support
      restart after failure. This can be done on a case by case basis.<br>
      <br>
      Generally DUPs can now assume that a module is attached for a host
      bundle deployment. In case of an unresolved bundle deployment we
      don't miss the work they do any more. However, we still need the
      module not null checks because bundle fragment deployments never
      have a module. They attach to a host and use that class loader. <br>
      <br>
      Thoughts?<br>
      <br>
      cheers<br>
      --thomas<br>
    </tt>
    <pre class="line"><span class="x"></span>
<span class="x"></span></pre>
    <pre class="moz-signature" cols="72">-- 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Thomas Diesler
JBoss OSGi Lead
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx 
</pre>
  </body>
</html>