<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi,</p>
    <p>I'm creating this thread to discuss the remaining details of
      graceful shutdown for ejb transactions.</p>
    <p>This is more or less what I've done so far:</p>
    <p><a class="moz-txt-link-freetext"
href="https://github.com/fl4via/wildfly/commit/7017146522af9a979a8a8e0c92039e6a5fb18760">https://github.com/fl4via/wildfly/commit/7017146522af9a979a8a8e0c92039e6a5fb18760</a></p>
    <p>While discussing this in the hip chat yesterday, Stuart mentioned
      that maybe we could have the transactions subsystem responsible
      for keeping track of how many active transactions we have, instead
      of putting that code in EjbRemoteTransactionsRepository. <br>
    </p>
    <p>Stuart, does that include having the suspend callback being done
      at transactions subsystem as well? I'm thinking maybe not, because
      there are two points in the ejb subsystem we need to know if
      transactions suspension is over:</p>
    <p>- at EjbSuspendInterceptor if it is over, no request is allowed,
      if it is not over, we need to check if current invocation contains
      a reference to an active transaction</p>
    <p>- at some point, we need to let control point notify that the ejb
      module is no longer available to ejb client after transaction
      suspension is over, i.e., we need to do that when suspend has been
      requested and there are no remaining active transactions
      available.</p>
    <p>On the other hand, it is hard to draw the line between what
      should be in the transactions subsystem and what shouldn't. If the
      callback is done at transactions subsystem, we need a way of
      having ejb3 notified that it is done. If it is not done at
      transactions subsystem, ejb3 has to be notified of the active
      transactions going to zero, which seems a lot of overhead, so from
      this point of view maybe the callback should be in the
      transactions system after all.<br>
    </p>
    Stuart and Gytis, any thoughts?<br>
    <pre class="moz-signature" cols="72">-- 
Flavia Rainone
Principal Software Engineer
JBoss EAP/WildFly Team 
M: (+55) 11 981-225-466

Red Hat.
Better technology.
Faster innovation.
Powered by community collaboration. 
</pre>
  </body>
</html>