J2EE Connection Architecture では、javax.resource.cci.LocalTransaction インターフェースが定義されており、トランザクション・マネージャーではなくリソース・マネージャーが、トランザクションをローカルで調整するようになっています。 しかし、IMS TM リソース・アダプター は、トランザクション・マネージャーによるトランザクション調整のみをサポートしています。 したがって、IMS TM リソース・アダプター は javax.resource.cci.LocalTransaction インターフェースをサポートしていません。 IMSConnection.getLocalTransaction() メソッドを呼び出すと、NotSupportedException が発生します。IMS TM リソース・アダプター でトランザクション・サポートを使用するには、JTA トランザクション・ インターフェースを使用するか、あるいは、ご使用のアプリケーションの デプロイメント記述子で適切なトランザクション属性を設定する必要があります。 詳細については、「クライアント・アプリケーションでのグローバル・トランザクション・サポート」のトピックを参照してください。
IMS TM リソース・アダプター は、 トランザクション・マネージャーを使用した 1 フェーズ・コミットの最適化をサポートしています。 したがって、あるトランザクション・スコープ内のすべての変更が同一の IMS リソースに属している場合には、 フェーズ 1 準備要求を送信しなくても、フェーズ 2 コミット要求をリソース・マネージャーに直接送信することによって 変更がコミットされるように、トランザクション・マネージャーで 1 フェーズ・コミットの最適化を行うことができます。
アプリケーション内でグローバル・トランザクション処理が 使用されない場合 (例えば、トランザクション属性が TX_NOTSUPPORTED に設定されている場合)、 グローバルでないすべてのトランザクション処理で「Sync-On-Return」(OTMA SyncLevel=None) が使用されます。 IMS トランザクションが コミットされたときには、出力は既にクライアントに戻されています。
IMSIMS は、会話型プログラムを使用して、 処理を、クライアントからプログラムへ、プログラムからクライアントへという、 一貫性のある連続した対話 (反復とも言います) に分割します。 それぞれの反復は、一種の IMS 会話型トランザクションです。 会話型処理は、1 つのトランザクショ ンがいくつかのパーツで構成されている場合に使用されます。単一の大きなトランザクションを構成するそれぞれのパーツは、別々にコミットまたはロールバックされます。