如何使用“没有J2EE”的事务获得骆驼

时间:2013-10-16 17:59:49

标签: transactions apache-camel

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

您能指点我正确配置此方案的方法吗?

1 个答案:

答案 0 :(得分:1)

你需要告诉Camel(或者实际上是Came用来处理事务的Spring)你想要使用什么事务管理器。

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

如果您需要单一资源事务(非XA),则此page处有非常好的配置示例,用于JMS(ActiveMQ)和JDBC(Derby)。应该可以直接切换到其他JMS /数据库产品。

设置独立的XA事务管理器并不太难,但配置会因所涉及的组件而有所不同。 “Camel in Action”一书中有一些示例,以及关于该主题的大量blogs /堆栈溢出帖子和articles on the web