181.7. transactionManager の設定

Camel 2.3 以降、JpaComponent はレジストリーから TransactionManager を自動検索します。Camel が登録されている TransactionManager インスタンスを見つけられない場合、TransactionTemplate も検索し、そこから TransactionManager を抽出しようとします。

レジストリーで使用可能な TransactionTemplate がない場合、JpaEndpointTransactionManager の独自のインスタンスを自動的に作成しますが、これはほとんどの場合、必要なものではありません。

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>