WebSphere 8.5.5交易超时 Spring TX 4.2.5的奇怪问题



我在WebSphere Application Server上遇到了这个奇怪的问题,但我不设置它来自何处。很抱歉,如果我不太解释。该应用程序服务器在60秒时配置了交易超时。最近,我们添加了春季交易量注释的方法

@Transactional(timeout=15)

从部署开始时,看起来所有用交易的方法似乎都具有15秒的交易超时。我们已经检查了,交易中涉及的所有方法都没有注释中的任何超时。

应用程序服务器是WebSphere 8.5.5.11,带有Spring TX 4.2.5。我们没有尝试重新启动服务器,因为它正在生产中。谢谢您的耐心配合。

我找到了一个解决方案。您必须明确设置默认超时,而不要自动使用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 Transaction Manager互动。

更新30/03/2018

我们发现,当前版本的Spring-TX中有一个错误,通过将版本更改为4.3.12,无论如何,我在旧版本上发布的解决方案都解决了所有问题,如果您不能升级库。<<<<<<<<<</p>

最新更新