1

JBoss As 7.1.1 Final を使用しています。トランザクション モード「FULL_XA」でレプリケートされたキャッシュを構成しました。

キャッシュをメモリ内データベースとして使用しています。キャッシュ内のエントリは、アプリケーションによって操作 (追加/更新/削除) されます。JTA トランザクションのロールバックがキャッシュ内のエントリの以前の追加を元に戻さないというシナリオに直面しています。Infinispan のドキュメントでは、キャッシュ用に構成するトランザクション マネージャーが指定されています。JBoss アプリケーション サーバーでは、infinispan は自動的に正しいトランザクション マネージャーを選択できるはずです。さらに、infinispan 1.2 XSD には、キャッシュ用にトランザクション マネージャーを構成する方法に関する詳細が記載されていません。ここで本当にトランザクション マネージャーを構成する必要がありますか? そうでない場合、トランザクションのロールバック後にキャッシュの追加がロールバックされない原因として考えられるものは何ですか。

infinispan は、対応するトランザクションがロールバックされると、以前にキャッシュに追加されたエントリを削除する機能を提供しますか? これは、基本的に、RDBMS などの永続データストアによって提供される原子性保証と同じです。

4

1 に答える 1

2

Infinispanフォーラムで同じ質問(および回答)を取得しました:https ://community.jboss.org/message/778149#778149

実際、Infinispanはトランザクションがコミットされるまでキャッシュに何も書き込まないため、ロールバックするものはありません。キャッシュが実際にトランザクションである場合、デフォルトはそうではありません。

要素transactionModeの属性を介してトランザクションを有効にできます。トランザクションマネージャーのルックアップをカスタマイズするための属性もありますが()、ご想像のとおり、デフォルトはAS7で機能するはずです。transactiontransactionManagerLookupClass

于 2012-11-23T18:45:08.137 に答える