gpt4 book ai didi

java - 如何在 Jetty JNDI Atomikos 配置上设置事务超时

转载 作者:搜寻专家 更新时间:2023-11-01 03:44:55 25 4
gpt4 key购买 nike

我正在将各种 Spring bean 转换为 JNDI 查找。目前我正在使用 Jetty 对此进行测试。我已经根据 Jetty 文档配置了 UserTransaction,它可以正常工作:

<New id="tx" class="org.mortbay.jetty.plus.naming.Transaction">
<Arg>
<New class="com.atomikos.icatch.jta.UserTransactionImp">
</New>
</Arg>
</New>

此配置的问题在于它没有像我的 Spring 配置那样设置事务超时:

<bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
<!-- Number of seconds before transaction timesout. -->
<property name="transactionTimeout" value="30" />
</bean>

我尝试了以下方法,但没有用...出于某种原因,我最终得到了两个用户交易:

<New id="tx" class="org.mortbay.jetty.plus.naming.Transaction">
<Arg>
<New class="com.atomikos.icatch.jta.UserTransactionImp">
<Set name="transactionTimeout">30</Set>
</New>
</Arg>
</New>

有什么想法吗?

最佳答案

您需要通过 Jetty 上下文中的 jta.properties 文件配置 atomikos 事务管理器。
例如,查看 Jetty 发行版中的以下目录(我使用的是 6.1.24):

  • /jetty-6.1.24/contexts/test-jndi.d/WEB-INF/classes
    • jta.properties

设置名为 com.atomikos.icatch.max_timeout 的属性,该属性在默认示例文件中已被注释掉。
然后确保使用正确配置的上下文启动 jetty 容器。

关于java - 如何在 Jetty JNDI Atomikos 配置上设置事务超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3930214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com