Apcoordinator ユーザーズガイド |
目次 |
第2部 Apcoordinatorコアの機能 | > 第4章 APIを使ったプログラミング | > 4.8 トランザクションの管理 |
トランザクション管理機能は、Apcoordinatorがトランザクションの開始、コミット、ロールバックを制御する機能です。アプリケーションでトランザクションの開始、終了をプログラムする必要がなく、トランザクションの制御が容易になります。
トランザクション管理機能を使用すると、Apcoordinatorは次のようにトランザクションを制御します。
java.lang.RuntimeException
とそのサブクラス
java.lang.Error
とそのサブクラス
com.fujitsu.uji.DispatchContext
クラスのsetRollbackOnly
メソッドが呼び出された場合。この場合、ビジネスメソッドがロールバック例外を発生しなくても、ビジネスメソッドの終了後にトランザクションをロールバックします。例外を発生させずにロールバックさせたい場合にこのsetRollbackOnly
を使用します。
Apcoordinatorで管理できるのは、 以下のインタフェースによって制御できるトランザクションです。
javax.transaction.UserTransaction
インタフェース
UserTransaction
はトランザクション制御用のインタフェースであり、JTA(Java Transaction API)仕様によって定義されています。
一般に、EJB, JMS, JDBCのトランザクションを制御する場合に使用します。
java.sql.Connection
インタフェース
上記以外のインタフェースについては、アダプタを作成することによってApcoordinatorで管理できる場合があります。アダプタの作成方法はJDBCのトランザクションの制御で説明します。
デフォルトでは、UserTransaction
インタフェースによってトランザクションを制御します。java.sql.Connection
インタフェースによる制御を利用する方法はJDBCのトランザクションの制御で説明します。
UserTransaction
インタフェースによるトランザクション制御を選択し、
アプリケーションサーバとしてInterstageを使用する場合、トランザクションを連携させることのできるアプリケーションの種別と、トランザクションで制御できるリソースは以下のようになります。
呼び出し元のアプリケーション | 呼び出し先のアプリケーション | |
---|---|---|
分散トランザクションを使用しない場合 | 分散トランザクションを使用する場合 | |
Webアプリケーション 電子フォームアプリケーション 携帯端末対応アプリケーション | 呼び出し元と同じIJServer上のEJB (*1)(*2) | (分散トランザクションは使用できません) |
EJBセションBean | 呼び出し元と同じIJServer上のEJB (*1) | 同一マシン内のIJServer上で動作するEJB (*1)(*3) |
SOAPサーバアプリケーション | 呼び出し元と同じIJServer上のEJB (*1)(*2) | (分散トランザクションは使用できません) |
分散トランザクションの使用有無 | トランザクションで制御できるリソース |
---|---|
使用しない |
|
使用する |
|
トランザクションに参加できるリソースは、アプリケーションサーバなどの実行環境に依存します。
目次 |