带有持久消息的ActiveMQ和XA事务,其中jdbc持久适配器使用非xa jdbc数据源

问题描述 投票:1回答:1

我正在开发一个发送JMS消息并且仅需要一次传递语义的应用程序,消息侦听器代码可能与多个数据库进行交互,并且自身会发送更多消息,因此我正在使用XA事务。我有一个ActiveMQ消息代理网络,一个JDBC支持的持久消息存储库,并且我正在使用Bitronix进行事务管理。当前,重新交付是由经纪人而不是消费者来处理的。

该应用程序具有多个数据源,其中一些是XA支持的,而其他则是非xa的。在查看配置时,我注意到在代理服务上设置的JdbcPersistenceAdapter使用的是非xa版本的数据源。我的直觉是此配置不正确,并且持久性适配器应使用XA数据源。但是,就事务语义回滚/提交/重新传递消息而言,目前一切似乎都正常工作。

我试图确定我是否需要将数据源更改为XA版本是否正确?如果我正确地认为需要更改它,那么我也想知道为什么它似乎可以正确地工作(尽管这显然比具有正确的配置更不重要)?

我正在开发一个发送JMS消息并且仅需要一次传递语义的应用程序,消息侦听器代码可能与多个数据库进行交互,并且它们本身还会发送其他消息,所以...

transactions jms activemq xa
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.