182.8. 配置 TransactionManager
由于 Camel 2.3,JpaComponent 将从 Registry 中自动查找 TransactionManager。如果 Camel 找不到注册了任何 TransactionManager 实例,它也会查找 TransactionTemplate,并尝试从其中提取 TransactionManager。
如果 registry 中没有 TransactionTemplate,则 JpaEndpoint 将自动创建自己的 TransactionManager 实例,其中最多不是您想要的内容。
如果找到多个 TransactionManager 实例,Camel 将记录 WARN。在这种情况下,您可能想要实例化并明确配置引用 myTransactionManager 事务管理器的 JPA 组件,如下所示:
<bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent"> <property name="entityManagerFactory" ref="myEMFactory"/> <property name="transactionManager" ref="myTransactionManager"/> </bean>
<bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
<property name="entityManagerFactory" ref="myEMFactory"/>
<property name="transactionManager" ref="myTransactionManager"/>
</bean>