OpenTP1のアプリケーションプログラムが開始したトランザクションに,アプリケーションサーバのMessage-driven Bean(サービス)が参加できる条件は二つあります。それぞれについて説明します。
- アプリケーションサーバのライトトランザクション機能が無効な場合
- ライトトランザクション機能が無効な場合,Message-driven Bean(サービス)はグローバルトランザクションに参加できます。一方,ライトトランザクション機能が有効になっている場合,アプリケーションサーバのトランザクションマネージャを使用できません。このため,ライトトランザクション機能が有効な場合にTP1インバウンドアダプタがOpenTP1からトランザクショナルRPCを受信したときは,エラーメッセージ(KDJE58363-E)を出力し,OpenTP1がRPCエラー(DCRPCER_TRNCHK_EXTEND(-372))を返します。
- Message-driven Bean(サービス)のトランザクション属性がRequiredの場合
- OpenTP1のトランザクションに参加できるMessage-driven Bean(サービス)について次の表に示します。
表4-11 OpenTP1のトランザクションに参加できるMessage-driven Bean(サービス)
Message-driven Bean(サービス)のトランザクションの設定 | OpenTP1のトランザクションへの参加 |
---|
タイプ | 属性 |
---|
CMT | Required | ○ |
NotSupported | × |
BMT | - | × |
- (凡例)
- ○:OpenTP1のトランザクションに参加できます。
- ×:OpenTP1のトランザクションに参加できません(Message-driven Bean(サービス)の呼び出しはできます)。この場合,OpenTP1ではノーアクセス最適化が適用されます。
- -:該当しません。