问题
如何通过Spring将 allowCustomIsolationLevels 设置为 true 配置 JtaTransactionManager 对象,以便可以跨多个应用程序服务器使用Spring配置?
背景
我有一个当前用完JBossAS的应用程序,我正试图让它在WebSphere中运行。我目前唯一的问题是使用正确的设置注入正确的JTA事务管理器。
这是旧设置
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManagerName">
<value>java:/TransactionManager</value>
</property>
<property name="allowCustomIsolationLevels" value="true" />
</bean>
这是有效的,因为JBossAS在JNDI位置定义了JTA事务管理器 java:/ TransactionManager 。但是,WebSphere没有相同的JNDI位置。
Spring 2.5.x提供了一种以通用方式获取JTA事务管理器的方法。
<tx:jta-transaction-manager />
这将获取 JtaTransactionManager 对象并将其定义为具有id transactionManager 的bean。
我查看了Spring TX schema,但唯一可用的设置是设置特定的隔离级别,但不仅仅是允许使用自定义级别(如其他地方所定义)。 如何使用 tx:jta-transaction-manager 标记设置 allowCustomIsolationLevels 属性?
答案 0 :(得分:2)