[Seasar-user:11565] xa_commitが失敗した時の挙動について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 11月 9日 (金) 15:47:55 JST


お世話になります。神谷と申します。

Javaで分散トランザクションを行うバッチプログラムを作っており、
Oracle 10g R1 のRAC構成, SeasarのJTA を使っています。

Oracleの制限事項で、フェールオーバのタイミングで
「xa_prepare() が成功したにもかかわらずxa_commitが失敗する」
ケースがあるという情報があるのですが、SeasarのJTAでは
xa_commitが失敗したらどのように動作しますか?

例:・一定間隔でxa_commitをリトライする。
  ・そのトランザクションを破棄してexception発行

すいませんが、教えて下さい。よろしくお願い致します。

<詳細>

 xa_open
 xa_start
 SQL実行
 xa_end
 xa_prepare

の後フェールオーバ発生。フェールオーバの最中に

 xa_commit

を実行すると

 -4(XAER_NOTA)

が返されます。






Seasar-user メーリングリストの案内