181.7. transactionManager の設定
Camel 2.3 以降、JpaComponent
はレジストリーから 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>