182.17. 在事务上下文中使用连接池
182.17.1. 设置数据源连接池大小 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
当使用 JpaTransactionManager 时,它需要一个单独的连接来控制事务。因此,您必须配置 JDBC 连接池,以实现至少两个 JDBC 连接的容量限制。
当 camel-jpa 与 transacted () 和 split (), multicast ()或 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());