2012-05-02 32 views
5

我试图在MQ和Oracle 11g之间使用Websphere MQ(不包括WAS)作为我的Java应用程序的XA事务协调器。使用websphere MQ作为XA事务协调器

可能吗?这是一个好习惯吗?

我已经安装在我的Windows的MQ V7.0.1服务器(64位WIN7),并适当配置XA资源管理。然而,当我简单的java代码启动一个事务并将其中止时,只有队列中的消息可以回滚,但数据库操作不能回滚。我期望他们两个可以一起回滚。我的简单java代码如下
QueueManager qmgr = new QueueManager(QM_NAME,properties);
.....
JdbcConnection康恩= qmgr.getJdbcConnection(xads);
qmgr.begin();
//执行DB操作并将消息放入队列
qmgr.backout();
conn.close();

但是只有“放消息”可以回滚,而DB操作不了。

我为MQ一个新手,你有什么想法来解决这个问题?任何输入都非常感谢!

+0

问题已解决,我的失败是因为没有安装'客户端扩展交易支持' – Philip

+0

其中,截至4月29日,现在是免费的!很高兴你解决了。 –

回答

3

Detailed System Requirements页面说这是支持的,但有些组合需要安装Fix Pack 7.0.1.2或7.0.1.3才能正常工作。有关详细信息,请参阅标题为的资源管理器(当MQ是事务管理器时)的部分。

补丁包可以下载from here
用于启用XA is here的文档。

+0

谢谢Rob。但是即使使用MQ V7.1,问题仍然存在。而且我也在遵循IBM信息中心的指示。一切看起来不错,因为没有任何错误日志输出,但XA事务不起作用。 – Philip

+0

听起来像是时候打开PMR了。如果按照“信息中心”中的说明配置XA,并按照“系统要求”页面满足其他先决条件,那么最好是让IBM支持人员详细介绍配置,以便与所需的配置保持一致。 –

+0

是的,我想我必须求助于IBM。 – Philip