0

我正在使用独立的 Camel 框架,我想拥有交易路线。我检查了仅使用 .transacted() 不起作用,因为我在上下文中没有 PlatformTransactionManager。

你能指出我正确配置这个场景的方法吗?

4

1 回答 1

1

您需要告诉 Camel(.. 或者实际上是 Camel 用来处理事务的 Spring)您要使用哪个事务管理器。

事务管理器可以是基于您集成的资源(数据库或 JMS 系统)的单个资源事务管理器,也可以是能够在多个资源之间同步事务的分布式事务管理器,例如 JavaEE 服务器事务管理器或独立的事务管理器,例如如 Atomikos、bitronix、JBossTM 等。

如果您想要单一资源事务(非 XA),则此页面上的 JMS (ActiveMQ) 和 JDBC (Derby) 都有很好的配置示例。切换到其他 JMS/数据库产品应该很简单。

设置一个独立的 XA 事务管理器并不难,但配置会根据所涉及的组件而有很大不同。Camel in Action 一书中有一些例子,网上有很多关于该主题的博客/堆栈溢出帖子和文章。

于 2013-10-16T22:21:09.117 回答