182.17. トランザクションコンテキストでの接続プールの使用
182.17.1. データソース接続プールサイズの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
JpaTransactionManager を使用する場合は、トランザクションを制御するために別の接続が必要です。したがって、JDBC 接続プールを少なくとも 2 つの JDBC 接続の容量制限に設定する必要があります。
これは、camel-jpa を transacted() および split(), multicast() or receiptList() と組み合わせる場合に適用されます。
- データソース接続プールサイズを 少なくとも 2 に設定します。
182.17.2. Content Enricher へのメソッドの追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
カスタム集約ストラテジーで EIP パターンから Content Enricher を使用する場合は、JpaConstants.ENTITY_MANAGE プロパティーを newExchange から oldExchange にコピーする必要があります。
-
JpaHelper.copyEntityManagersにメソッドを追加して、コピー操作を実行します。
from("direct:enrich")
.transacted().enrich("jpa://" + Example.class.getName(), new AggregationStrategy() {
@Override
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
JpaHelper.copyEntityManagers(oldExchange, newExchange);
return newExchange;
}
})
.to("jpa://" + Example.class.getName());