gpt4 book ai didi

jms - JMS 和 DB 操作的 XA 或非 XA

转载 作者:行者123 更新时间:2023-12-01 07:46:07 25 4
gpt4 key购买 nike

我对 XA 和非 XA 世界还很陌生。我的要求是从队列中读取一条消息,直到没有消息为止。对于队列中的每条消息,转到数据库并执行一些事务,例如选择、插入、更新。

是否可以使用非 XA 数据源实现此目的?我目前正在使用 XA 数据源,但了解到它成本高昂且性能受到影响。

感谢任何帮助!谢谢

最佳答案

如果您需要在事务中包含与JMS 连接 的交互(即发送或接收消息)和与数据库的连接,请使用db 连接那么您肯定需要一个 XA 数据源,因为您的事务是 two-phase commit (2PC) transaction .

在两阶段提交事务中,您要么提交对所有资源(在您的情况下为 JMS 和 DB 资源)的更改,要么在其中任何一个出现问题时回滚所有更改。

为此,您需要连接到一个支持 XA 的数据源。此外,在 Java EE 容器中,JMS 连接应该已经启用 XA

关于jms - JMS 和 DB 操作的 XA 或非 XA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21182623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com