我们在 WL 服务器上随机收到如下警告。我们想更好地了解这些警告到底是什么,以及我们应该做些什么来避免它们。
86,606 秒后放弃事务:Xid=BEA1-52CE4A8A9B5CD2587CA9(14534444), Status=Committing,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=86605, seconds left=0,XAServerResourceInfo[JMS_goJDBCStore]=(ServerResourceInfo[JMS_goJDBCStore]= ( state=committed,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=committed),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 的解释:
错误:在 secs 秒后放弃交易:tx
描述:当一个事务被放弃时,该事务的知识将从试图推动该事务完成的事务管理器中删除。JTA 配置属性 AbandonTimeoutSeconds 确定事务管理器在尝试提交或回滚事务时应该坚持多长时间。
原因:资源或参与服务器可能在 AbandonTimeoutSeconds 期间不可用。
行动:检查参与资源的启发式完成并纠正任何数据不一致。
我们观察到您可以通过删除 *.tlog 文件来消除这些警告,但这似乎不是处理警告的正确策略。
警告指的是 JMS 和我们的 JMS 存储。我们确实使用 JMS。我们只是不明白为什么交易在那里挂起,为什么它们会被“放弃”??