我正在尝试像这样使用 spring 将 bitronix 配置为我的 JTA 管理器:
<!-- Bitronix Transaction Manager embedded configuration -->
<bean id="xaDataSource" class="bitronix.tm.resource.jdbc.PoolingDataSource"
init-method="init" destroy-method="close">
<property name="className" value="bitronix.tm.resource.jdbc.lrc.LrcXADataSource" />
<property name="uniqueName" value="java/DS1" />
<property name="maxPoolSize" value="5" />
<property name="minPoolSize" value="0" />
<property name="allowLocalTransactions" value="false" />
<property name="testQuery" value="SELECT 1 FROM DUAL" />
<property name="driverProperties">
<props>
<prop key="user">user</prop>
<prop key="password">user</prop>
<prop key="url">url</prop>
<prop key="driverClassName">oracle.jdbc.OracleDriver</prop>
</props>
</property>
</bean>
<bean id="btmConfig" factory-method="getConfiguration"
class="bitronix.tm.TransactionManagerServices">
<property name="serverId" value="spring-btm" />
</bean>
<bean id="bitronixTransactionManager" factory-method="getTransactionManager"
class="bitronix.tm.TransactionManagerServices" depends-on="btmConfig,xaDataSource"
destroy-method="shutdown" />
<bean id="jtaTransactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager" ref="bitronixTransactionManager" />
<property name="userTransaction" ref="bitronixTransactionManager" />
</bean>
<!-- end of Bitronix Transaction Manager embedded configuration -->
我看到 bitronix 正在启动并运行:
399 DEBUG ( PoolingDataSource.java:84) - building XA pool for java/DS1 with 0 connection(s) etc..)
但是当我尝试时:
DataSource ds = (DataSource) ic.lookup("java:comp/UserTransaction");
我得到了命名异常(exception)。
为什么会这样?我还需要配置什么?
已编辑
我在 tomcat documentation 中看到那<Transaction>
可以绑定(bind)事务管理器来处理它。
我在tomcat和spring中都定义会不会冲突?
最佳答案
尝试将此添加到您的网络应用程序的 META-INF/context.xml 中:
<Context>
<Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory" />
</Context>
这应该仅将事务管理器绑定(bind)到此特定 Web 应用程序的 java:comp/UserTransaction 名称下。
关于spring - java :comp/UserTransaction is not bound in the context using btm and spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5325764/