Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]() ![]() |
第3部 EJB編 | > 第16章 EJBサービスの基本機能 | > 16.7 EJBサービスが提供するトランザクション機能 |
複数のトランザクション処理を行っている場合、データベース連携サービスと連携した“分散トランザクション機能”を使用することにより、複数のトランザクション処理を1つのトランザクションとして扱うことができます。
分散トランザクション機能は、以下の製品で利用できます。
この機能を使用することにより、複数のリソースマネージャへのアクセス処理(JDBC、JMSなど)を1つのトランザクションとして制御することができます。
トランザクションのコミットは、アクセスしたトランザクションに対して2フェーズコミットメントプロトコルで処理されます。
そのため、トランザクション内で処理した、あるデータベースが回線異常などによりコミットできない状態の場合は、ロールバックを行い、トランザクション内で処理したすべてのリソースマネージャの内容をアクセス前の状態に戻すことができます。
また、複数のJavaVM間で動作するEJBアプリケーションを、1つのトランザクションで使用することもできます。
分散トランザクション機能の詳細は“JTSによる分散トランザクション処理”を参照してください。
分散トランザクション機能を使用する場合の、環境設定からEJBアプリケーションの起動までの手順は以下のとおりです。
分散トランザクション機能を使用する場合には、分散トランザクション機能で使用可能なリソースマネージャを登録します。
分散トランザクション機能を使用する場合のデータソース(Oracleの場合はOracleXADataSource)を登録します。
登録方法の詳細は“JDBCの環境設定”を参照してください。
J2EEリソースアクセス定義でJMSのConnectionFactoryを定義するときに、“グローバルトランザクションを利用する”を選択します。もしくは、JMSのコマンド(jmsmkfact)の-xオプションを指定してConnectionFactory定義を登録します。
JMSのコマンド(jmsmkfact)を使用したデータソース登録方法の詳細は、“リファレンスマニュアル(コマンド編)”を参照してください。
resource adapterファイルのdeployment descriptorに定義するtransaction-supportタグに、“XATransaction”が指定されたresource adapterを配備します。
分散トランザクション機能の使用方法についての詳細やリソース管理プログラムの起動については、“リソース管理プログラムの運用”を参照してください。また、リソース管理プログラムを起動する際には、“リソース管理プログラムの環境設定”を参照し、CLASSPATHの設定をしてください。
分散トランザクション機能を使用する/使用しないの選択は、EJBアプリケーションの実行環境定義で設定することができます。設定は、EJBアプリケーションごとに行います。設定方法の詳細は、“定義情報(2)タグ”を参照してください。
高速に呼び出すBeanに分散トランザクション機能を使用するように設定した場合、高速呼出し内のすべてのEJBアプリケーションが分散トランザクション機能を使用する設定となります。
分散トランザクション機能を使用する/使用しないの選択は、EJBコンテナ定義ファイルで設定します。設定方法の詳細は、“定義詳細”を参照してください。
EJBアプリケーションを起動します。
分散トランザクション機能を使用した場合、EJBサービスが提供するトランザクションタイムアウト機能を使用することはできません。タイムアウト機能を使用する場合は、データベース連携サービスのトランザクションのタイムアウト機能を使用してください。
“トランザクションのタイムアウト機能”についての詳細は、“グローバルトランザクションアプリケーションのタイマ監視”を参照してください。
目次
索引
![]() ![]() |