1

WLサーバーで以下のような警告がランダムに表示されます。これらの警告が正確に何であるか、そしてそれらを回避するために何をすべきかをよりよく理解したいと思います。

86,606秒後にトランザクションを破棄:Xid = BEA1-52CE4A8A9B5CD2587CA9(14534444)、Status = Committing、numRepliesOwedMe = 0、numRepliesOwedOthers = 0、beginからの秒数= 86605、残り秒数= 0、XAServerResourceInfo [JMS_goJDBCStore] =(ServerResourceInfo [J state = commitd、assigned = go_server)、xar = JMS_goJDBCStore、re-Registered = true)、XAServerResourceInfo [weblogic.jdbc.wrapper.JTSXAResourceImpl] =(ServerResourceInfo [weblogic.jdbc.wrapper.JTSXAResourceImpl] =(state = new、assigned = none)、xar = weblogic.jdbc.wrapper.JTSXAResourceImpl@1a8fb80,re-Registered = true)、SCInfo [go + go_server] =(state = commitd)、properties =({weblogic.jdbc = t3://10.6.202.37 :18080})、ローカルプロパティ=({weblogic.transaction.recoveredTransaction = true})、OwnerTransactionManager = ServerTM [ServerCoordinatorDescriptor =(CoordinatorURL = go_server + 10.6.202.37:18080 + go + t3 +、XAResources = {JMS_goJDBCStore、weblogic.jdbc.wrapper.JTSXAResourceImpl}、NonXAResources = {})]、CoordinatorURL = go_server + 10.6.202.37:18080 + go + t3 +)

私はBEAの説明を理解しています:

エラー:秒秒後にトランザクションを放棄します:tx

説明:トランザクションが破棄されると、トランザクションの知識は、トランザクションを完了に追いやろうとしていたトランザクションマネージャーから削除されます。JTA構成属性AbandonTimeoutSecondsは、トランザクションマネージャーがトランザクションのコミットまたはロールバックを試行する際に存続する期間を決定します。

原因:AbandonTimeoutSeconds期間中、リソースまたは参加サーバーが使用できなかった可能性があります。

アクション:参加しているリソースでヒューリスティックな完了を確認し、データの不整合を修正してください。

* .tlogファイルを削除することでこれらの警告を取り除くことができることを確認しましたが、これは警告に対処するための適切な戦略ではないようです。

警告は、JMSとJMSストアに関するものです。私たちはJMSを使用しています。なぜトランザクションがぶらぶらしているのか、なぜ「放棄」されるのかがわかりません。

4

1 に答える 1

2

あまり満足のいくものではないことは承知していますが、WLS 7 でホストされているアプリでは、起動前に *.tlog ファイルを削除しています。

私たちのアプリはイベント処理バックエンドであり、主に JMS によって駆動されます。WLS の再起動後もトランザクションを維持することには関心がありません。シャットダウン前に完了しなかった場合、再起動後に完了しない傾向があります。したがって、この *.tlog クリーンアップを実行すると、いくつかの警告と不安定な動作の可能性がなくなります。

ところで、JMS がこれの基本であるとは思いません。少なくとも私が知っているわけではありません。

ところで、JDBC JMS ストアからローカル ファイルに移動しました。その方がパフォーマンスが良いと言われ、JDBC を使用することで得られる場所の独立性は必要ありませんでした。それがあなたの状況を説明している場合、ローカル ファイルに移動することで根本的な原因が解消されるのではないでしょうか?

于 2009-03-02T20:39:08.903 に答える