59.9. 配置 TransactionManager
JpaComponent
会自动从 Registry 中查找 TransactionManager
。如果 Camel 找不到任何注册 TransactionManager
实例,它将查找 TransactionTemplate
,并尝试从其中提取 TransactionManager
。
如果注册表中没有 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>