websphere服务器停止导致inflight ejb事务回滚

时间:2009-11-20 11:12:04

标签: websphere websphere-6.1

当从管理控制台

停止Websphere服务器实例时,我发现如下错误

引起:javax.ejb.TransactionRolledbackLocalException :;嵌套异常 是:javax.transaction.TransactionRolledbackException:由于超时,事务已结束 在com.ibm.ws.Transaction.JTA.TranManagerImpl.completeTxTimeout(TranManagerImpl.java:576) 在com.ibm.ws.Transaction.JTA.TranManagerSet.completeTxTimeout(TranManagerSet.java:625)

这些是服务器停止期间的飞行时间。 从“应用程序服务器 - >服务器 - >交易服务”增加超时似乎没有帮助。

这与服务器静默超时有关吗?如果有,有办法配置这些。

当我从管理控制台“终止”服务器时,也没有观察到回滚,只有当我“停止”服务器时才会观察到。

调试此问题的任何想法都会很棒。

1 个答案:

答案 0 :(得分:1)

你想要的可能是Deployment for transactional high availability。 describe方法是唯一可用于完成这些事务而不会出现实际错误的产品功能。

对您而言,WebSphere Application Server为每个容器提供了一些关闭时间。关机超时后,它将使用force。事务被回滚。那么,您也可以将heurestic policy更改为例如COMMIT。这取决于您的应用程序是否更好地处理事务中的所有内容或者是否只有剩余的事务丢失。