我正在将各种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>
有什么想法吗?
答案 0 :(得分:1)
您需要通过jetty上下文中的jta.properties
文件配置atomikos事务管理器。
例如,查看Jetty发行版中的以下目录(我正在使用6.1.24):
设置名为com.atomikos.icatch.max_timeout
的属性,该属性在默认样本文件中注释掉
然后确保使用正确配置的上下文启动jetty容器。