【发布时间】:2012-05-02 15:28:14
【问题描述】:
我正在尝试使用 Websphere MQ(没有 WAS)作为我在 MQ 和 Oracle 11g 之间的 java 应用程序的 XA 事务协调器。
有可能吗?这是一个好习惯吗?
我已经在我的 windows (64bit win7) 上安装了 MQ V7.0.1 服务器并正确配置了 XA 资源管理器。但是,当我的简单 java 代码启动事务并将其中断时,只有队列上的消息可以回滚,而数据库操作不能回滚。我希望他们两个可以一起回滚。
我的简单java代码如下
QueueManager qmgr = new QueueManager(QM_NAME, properties);
.....
JdbcConnection conn = qmgr.getJdbcConnection(xads);
qmgr.begin();
// 进行数据库操作并将消息放入队列
qmgr.backout();
conn.close();
但是只有“put message”可以回滚,而数据库操作不能。
我是 MQ 的新手,你有什么想法来解决这个问题吗?任何输入都非常感谢!
【问题讨论】:
-
问题已解决,我的失败是因为没有安装'Client Extended Transaction Support'
-
从 4 月 29 日起,它现在是免费的!很高兴你解决了。