11.7. Transaction Service のよくある質問

本章では、JBoss Transaction Service の設定に関する問題で最も一般的なものをいくつか挙げていきます。
問: デバッグロギングを有効にしましたが何もログに残されていません。
問: サーバーログに WARN Adding multiple last resources is disallowed. が表示されトランザクションが停止されました。なぜでしょうか。
問: サーバーが予期せず停止しました。現在、再稼働していますが、 ログに次のようなメッセージが記録されています: WARN [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource.
問: トランザクションに時間がかかり、 時々予期しないことが発生します。 サーバーログには次が含まれています: WARN [arjLoggerI18N] [BasicAction_58] - Abort of action id ... invoked while multiple threads active within it.
問:
デバッグロギングを有効にしましたが何もログに残されていません。
答:
JBossTS は2レベルのフィルターを使ってログステートメントを送信します。
  1. ログは、JBoss Transaction Service の独自のロギング抽象層を経由します。
  2. ログは、JBoss Enterprise Application Platform's log4j のロギングシステムを経由します。
ログステートメントを表示するには両方のフィルターを通る必要があります。よくある間違いとしてロギングシステムの片方だけを有効にすることです。詳細情報は、表11.2「JBoss Transaction Service の追加プロパティ」 を参照してください。
問:
サーバーログに WARN Adding multiple last resources is disallowed. が表示されトランザクションが停止されました。なぜでしょうか。
答:
おそらく <local-xa-datasource> を使っており、1フェーズ対応のパーティシパントを1つ以上使おうとしている可能性があります。この設定は回避すべきです。詳細情報については 「最終リソースコミット最適化 (LRCO: Last Resource Commit Optimization) 」 を参照してください。さらに懸念がありましたら、Global Support Services にお問い合わせください。
問:
サーバーが予期せず停止しました。現在、再稼働していますが、 ログに次のようなメッセージが記録されています: WARN [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource.
答:
リカバリ用に全リソースマネージャーを設定していないのかもしれません。リソースマネージャーをリカバリさせる設定に関する詳細は、JBoss Transaction Administration Guide のリカバリの章を参照してください。
問:
トランザクションに時間がかかり、 時々予期しないことが発生します。 サーバーログには次が含まれています: WARN [arjLoggerI18N] [BasicAction_58] - Abort of action id ... invoked while multiple threads active within it.
答:
タイムアウトの時間を過ぎるとトランザクションはロールバックされることがあります。これは、バックグランドのスレッドにより実行されますが、割り込みを予期しているアプリケーションコードが混乱することがあります。詳細は、「トランザクションタイムアウトの処理」 を参照してください。
上記以外の質問がある場合、他の JBoss Transaction ガイドを参照いただくか、Global Support Services にご連絡ください。