182.17. 트랜잭션 컨텍스트에서 연결 풀 사용
182.17.1. 데이터 소스 연결 풀 크기 설정 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
JpaTransactionManager를 사용하면 트랜잭션을 제어하기 위해 별도의 연결이 필요합니다. 따라서 두 개 이상의 JDBC 연결의 용량 제한에 대해 JDBC 연결 풀을 구성해야 합니다.
이는 camel-jpa 가 transacted() 및 split(), multicast() 또는 receiptList()와 결합될 때 적용됩니다.
- 데이터 소스 연결 풀 크기를 2 이상으로 설정합니다.
182.17.2. Content Enricher에 대한 방법 추가 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 집계 전략과 함께 EIP 패턴의 Content Enricher 를 사용하는 경우, newExchange 에서 oldExchange 로 JpaConstants.ENTITY_MANAGE 속성을 복사해야 합니다.
-
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());