我有一個配置爲運行在Tomcat 7上的Bitronix的spring JTA事務管理器。事務管理器正常啓動並且應用程序正常工作。但是我得到了很多調試消息指出與Bitronix jndi查找失敗的Spring JTA事務管理器
沒有JTA事務管理器發現,在後備JNDI位置【JAVA:COMP /事務管理器] 沒有JTA事務管理器發現,在後備JNDI位置【JAVA:PM /事務管理器] 沒有JTA事務管理器發現在回退JNDI位置[java的:應用服務器/事務管理]
等。
我明白,這是和JtaTransactionManager掃描已知JNDI位置並且這不是錯誤,但調試異常。下面是我的事務管理器配置
<bean id="BitronixTransactionManager" factory-method="getTransactionManager" class="bitronix.tm.TransactionManagerServices"
destroy-method="shutdown" />
和JTA事務管理
我認爲autodetectTransactionManager值設置爲false將阻止這種掃描和所生成的調試例外,但它似乎這個設置沒有效果。
我還嘗試使用transactionManager的以下屬性來設置jndi位置。
<property name="transactionManagerName" value="java:comp/TransactionManager"/>
<property name="userTransactionName" value="java:comp/UserTransaction"/>
我使用JTA 1.1,也得到了TransactionSynchronizationRegistry相同查找消息:
DEBUG [主] JtaTransactionManager.findTransactionSynchronizationRegistry(146)|沒有JTA TransactionSynchronizationRegistry發現在默認的JNDI位置【JAVA:COMP/TransactionSynchronizationRegistry]
我真的想明白這一點,而不是僅僅篩選了這一點與我的Log4J