EJB Transactions dans les locaux de la méthode des appels

Dans la configuration suivante, n'méthode B exécuter dans un (nouveau) de la transaction?

Un EJB, ayant deux méthodes, Une méthode et la méthode B

public class MyEJB implements SessionBean
    public void methodA() {
       doImportantStuff();
       methodB();
       doMoreImportantStuff();
    }

    public void methodB() {
       doDatabaseThing();
    }
}

L'EJB est gérée par le conteneur, avec methodB dans requires_new de transaction, et la méthode A requis d'une transaction. donc:

<container-transaction id="MethodTransaction_1178709616940">
  <method id="MethodElement_1178709616955">
    <ejb-name>MyName</ejb-name>
    <method-name>*</method-name>
  <trans-attribute>Required</trans-attribute>
  </method>
  <method id="MethodElement_1178709616971">
    <ejb-name>MyName</ejb-name>
    <method-name>methodB</method-name>
  </method>
  <trans-attribute>RequiresNew</trans-attribute>
</container-transaction>

Maintenant, laissez un autre EJB appel methodA avec un EJB appel de méthode.
methodA fonctionne maintenant dans une transaction. Sera le prochain appel de methodB de methodA exécuter dans la même transaction, ou de ne l'exécuter dans une nouvelle transaction?
(de l'esprit, c'est le code ici. Il n'est pas explicite ejb-appel à la méthode B)

InformationsquelleAutor | 2009-01-09