あなたの質問を理解しているように、複数のサーバー (JVM) 間で XA トランザクションを調整しようとしています。これには、サーバーを JTS で構成する必要があり、JBoss サーバーは通常、デフォルトで JTA のみに構成されています。ここで同じバージョンについて話していることを確認するために、JBoss AS 5.1 の起動時にコンソール ログを確認すると、次の JBossTS バージョンが報告されます。
08:46:59,678 INFO [TransactionManagerService] JBossTS トランザクション サービス ( JTAバージョン - タグ: JBOSSTS_4_6_1_GA_CP07 )
実行しているバージョンとほぼ同じであると仮定すると、次のダウンロードで入手可能な JBossTS ドキュメントに含まれるすべてのドキュメントを確認する必要があります: jbossts-full-4.6.1.GA.zip。具体的には、JBossTS 4.6.0 Server Integration Guideというタイトルの PDF を参照してください。特に、Arjuna Transaction Managerのさまざまなパーソナリティが次のように定義されています。
JBossTS はトランザクション エンジン ArjunaCore で構成され、複数の「パーソナリティ」がレイヤー化されています。
JBossTS JTAは、Java Enterprise Edition アプリケーション用の JTA 1.1 準拠のトランザクション マネージャーを提供します。トランザクション スコープは、単一の JVM に限定されます。これは、JVM 間のビジネス メソッド呼び出しでトランザクション コンテキストの伝播を必要としないアプリケーションでの使用に適しています。たとえば、1 つのアプリケーション サーバー インスタンスのみが使用される配置、または複数のそのようなインスタンスが負荷分散のみに使用され、それらの間でトランザクション通信が行われない配置。
JBossTS JTSは、JTS ネイティブ API または JTA インターフェースを介して駆動される CORBA ベースの分散トランザクション管理を提供します。これは、トランザクション コンテキストが複数の JVM にまたがる必要がある状況 (アプリケーション サーバー クラスターにデプロイされた Java EE アプリケーションなど) や、異種 Java アプリケーション サーバー間のトランザクション ビジネス メソッド呼び出しに相互運用性が必要な状況、または Java と Java で記述されたレガシー アプリケーションに適しています。 CORBA バインディングを持つ別の言語。
また、次のように主張します。
複数の JVM が関与するトランザクションの使用例では、JBossTS JTS が必要です。
JBoss Messaging XA Configurationに関するこの条件も参照してください。JBoss Messaging XA Recovery Configurationというタイトルのセクションの JTA ドキュメントに記載されている設定手順に従ってください。
このドキュメントは、何をする必要があるかについて適切な要約を提供しますが、スタンドアロン JBossTS インスタンスのインストールと設定の詳細は、JBoss Transactions 4.6.0 インストール ガイドというタイトルのドキュメントにあり、AS 5.1 JTA トランザクション サービスを JTS に置き換えます。サービスは<jboss-home>\docs\examples\transactions\README.txtの AS 5.1 ディストリビューション自体のドキュメントで概説されています。
とはいえ、1 つのサーバーを使用してソリューションを実装できる方法があれば、それが望ましい方法であることがわかると思います。
乾杯。
//ニコラス
PS JTS を正しくインストールすると、起動時にコンソール ログに次のように表示されます。
09:41:03,558 INFO [TransactionManagerService] JBossTS トランザクション サービス (**JTSバージョン - タグ:JBOSSTS_4_6_1_GA_CP07)**