Transactions 如何使用事务获取camel”;没有J2EE“;

Transactions 如何使用事务获取camel”;没有J2EE“;,transactions,apache-camel,Transactions,Apache Camel,我使用的是独立的Camel框架,我希望有事务路由。我检查了仅仅使用.transact()不起作用,因为上下文中没有PlatformTransactionManager 您能告诉我一种正确配置此场景的方法吗?您需要告诉Camel(…或者实际上是Camel用来处理事务的Spring)您想要使用什么事务管理器 事务管理器可以是基于您集成的资源(数据库或JMS系统)的单一资源事务管理器,也可以是能够在多个资源(如JavaEE服务器事务管理器)或独立资源(如Atomikos、bitronix、,JBoss

我使用的是独立的Camel框架,我希望有事务路由。我检查了仅仅使用.transact()不起作用,因为上下文中没有PlatformTransactionManager

您能告诉我一种正确配置此场景的方法吗?

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

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

如果您想要单资源事务(非XA),这里有非常好的JMS(ActiveMQ)和JDBC(Derby)配置示例。切换到其他JMS/数据库产品应该是直截了当的


设置一个独立的XA事务管理器并不难,但是根据涉及的组件,配置会有很大的不同。《骆驼行动》一书中有一些例子,以及许多关于这个主题的/stack overflow帖子。

谢谢。我读过《骆驼在行动》。。。这里的例子非常好,当你把所有的部分都安装好并运行起来的时候,但是我发现它们对如何配置没有帮助。。。比如,正如您所说,如何告诉camel(spring)我想要使用什么事务管理器。也许我问这个问题是因为我对Spring缺乏了解,我应该更好地了解Spring和您提到的一些独立XA服务器。是的,从camel的角度来看,您只需要一个Spring平台TransactionManager。您需要在其他地方查找详细信息,尤其是在使用某些XA管理器时。即使这样,您也可能需要为各种jms/数据库系统进行特殊配置。