websphere 8.5.5事务超时+ Spring tx 4.2.5

时间:2017-09-15 18:36:53

标签: spring timeout websphere

我在Websphere应用服务器上遇到这个奇怪的问题,但我无法理解它来自何处。 如果我不解释,我很抱歉。 应用程序服务器配置为60秒的事务超时。 最近我们在spring中使用transactional注释的方法添加了超时

@Transactional(timeout=15)

从部署开始,看起来所有使用transactional注释的方法似乎都有15秒的事务超时。 我们已经检查过,事务中涉及的所有方法在注释中没有任何超时。

应用程序服务器是带有Spring Tx 4.2.5的Websphere 8.5.5.11。 我们没有尝试重启服务器,因为它正在生产中。 感谢您的耐心等待。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。您必须明确设置默认超时,而不是自动使用Web服务器。

    ### TRANSACTION MANAGER ###

    <bean id="jtaTransactionManager"  class="org.springframework.transaction.jta.JtaTransactionManager" >
         <property name="globalRollbackOnParticipationFailure" value="true" />
        <property name="defaultTimeout" value="120" />      
</bean>     



        <tx:annotation-driven transaction-manager="jtaTransactionManager"  />

我不知道spring tx库是否存在问题以及与websphere事务管理器的交互是否存在问题。

更新30/03/2018

我们发现当前版本的spring-tx中存在一个错误,所有内容都通过将版本更改为4.3.12来解决,无论如何,如果您无法升级您的库,我之前发布的解决方案可用于旧版本。< / p>