我正在使用独立的Camel框架,我希望拥有交易路线。我检查过简单地使用.transacted()不起作用,因为我在上下文中没有PlatformTransactionManager。
您能指点我正确配置此方案的方法吗?
答案 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。