我有一個使用JPA和JTA和Spring的Web應用程序。我想支持JBoss和Tomcat。在JBoss上運行時,我想使用JBoss自己的TransactionManager,並且在Tomcat上運行時,我想使用JOTM。Spring JTA TransactionManager配置:支持Tomcat和JBoss
我有兩種方案的工作,但我現在發現,我似乎需要兩種情況下兩個單獨的彈簧配置。隨着JOTM,我需要使用Spring的JotmFactoryBean
:
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="userTransaction">
<bean class="org.springframework.transaction.jta.JotmFactoryBean"/>
</property>
</bean>
在JBoss中,不過,我只需要從JNDI獲取「事務管理」:
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager">
<bean class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="resourceRef" value="true" />
<property name="jndiName" value="TransactionManager" />
<property name="expectedType"
value="javax.transaction.TransactionManager" />
</bean>
</property>
</bean>
有沒有配置該讓的方式適當的TransactionManager - JBoss或JOTM - 被使用,而不需要兩個不同的配置文件?
Spring 3不再提供`org.springframework.transaction.jta.JotmFactoryBean`類,因此您可能需要從2.5.x複製源代碼。 – Jason 2014-01-08 01:13:26