10.7.3. トランザクションの開始
分散トランザクションでは、トランザクション参加者が複数のサーバー上の個別アプリケーションに存在します。参加者が新しいトランザクションコンテキストを作成する代わりに、すでに存在するトランザクションに参加する場合は、コンテキストを共有する 2 人以上の参加者が分散トランザクションに参加します。分散トランザクションを使用するには、ORB を設定する必要があります。ORB 設定の詳細については、『管理および設定ガイド』の項「ORB 設定」を参照してください。
UserTransaction
のインスタンスを取得します。@TransactionManagement(TransactionManagementType.BEAN)
アノテーションを用いると、 JNDI やインジェクション (EJB が Bean 管理のトランザクションを使用する場合は EJB の EjbContext) を使用してインスタンスを取得できます。JNDI
new InitialContext().lookup("java:comp/UserTransaction")
new InitialContext().lookup("java:comp/UserTransaction")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow インジェクション
@Resource UserTransaction userTransaction;
@Resource UserTransaction userTransaction;
Copy to Clipboard Copied! Toggle word wrap Toggle overflow EjbContext
EjbContext.getUserTransaction()
EjbContext.getUserTransaction()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
データソースに接続後、
UserTransaction
.begin()
を呼び出します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
EJB の利点の 1 つは、コンテナがすべてのトランザクションを管理することです。ORB をセットアップした場合は、コンテナによって分散トランザクションが管理されます。
トランザクションが開始します。トランザクションをコミットまたはロールバックするまで、データソースのすべての使用でトランザクションに対応します。
注記