Spring boot 请在事务处理策略上配置事务处理模板

Spring boot 请在事务处理策略上配置事务处理模板,spring-boot,apache-camel,Spring Boot,Apache Camel,我使用ApacheCamel(2.19)实现了一个SpringBoot(1.5.x)应用程序 出于集成目的,我需要使用三个数据源(有关多数据源的更多信息,请参见:) 我用.transact()标记的其中一个路由: 但是,当我启动应用程序时,我得到: Caused by: java.lang.IllegalArgumentException: Found 3 PlatformTransactionManager in registry. Cannot determine which one to

我使用ApacheCamel(2.19)实现了一个SpringBoot(1.5.x)应用程序

出于集成目的,我需要使用三个数据源(有关多数据源的更多信息,请参见:)

我用
.transact()
标记的其中一个路由:

但是,当我启动应用程序时,我得到:

Caused by: java.lang.IllegalArgumentException: Found 3 PlatformTransactionManager in registry. Cannot determine which one to use. Please configure a TransactionTemplate on the transacted policy.

如何处理?如何完成“请配置交易模板”。我找不到这个特殊情况的任何示例。

听起来您在Spring上下文中有多个
TransactionManager
bean。骆驼不知道该拿哪一只。你得帮你的骆驼一点忙

定义
SpringTransactionPolicy
并引用骆驼路线中要使用的
TransactionManager

<bean id="txPolicyName" class="org.apache.camel.spring.spi.SpringTransactionPolicy">
    <property name="transactionManager" ref="[yourTxManagerBeanId]" />
</bean>

听起来您在Spring上下文中有多个
TransactionManager
bean。骆驼不知道该拿哪一只。你得帮你的骆驼一点忙

定义
SpringTransactionPolicy
并引用骆驼路线中要使用的
TransactionManager

<bean id="txPolicyName" class="org.apache.camel.spring.spi.SpringTransactionPolicy">
    <property name="transactionManager" ref="[yourTxManagerBeanId]" />
</bean>
是的,我有多(三)个
TransactionManager
s。是的,我有多(三)个
TransactionManager
s。
.transacted("txPolicyName") // txPolicyBeanId as String