| Apcoordinator ユーザーズガイド |
目次
![]()
|
| 第2部 Apcoordinatorコアの機能 | > 第4章 APIを使ったプログラミング | > 4.7 トランザクションの管理 |
トランザクション管理機能は、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) |
| 分散トランザクションの使用有無 | トランザクションで制御できるリソース |
|---|---|
| 使用しない |
|
| 使用する |
|
トランザクションに参加できるリソースは、アプリケーションサーバなどの実行環境に依存します。
目次
![]()
|