【问题标题】:An error has occurred with the WebSphere MQ JMS connectionWebSphere MQ JMS 连接发生错误
【发布时间】:2014-09-19 07:37:51
【问题描述】:

MQ(消息队列)出现以下错误,如何解决?

Message : com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred. An error has occurred with the WebSphere MQ JMS
connection. Use the linked exception to determine the cause of this error.

由[1]引起-->

Message : com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with
compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').

由[3]引起-->

Message : com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9208: Error on receive
from host '/xx.xx.xx.xx:xxxx
(emb701t7.dci.bt.com)'. [1=-1,2=ffffffff,3=/xx.xx.xx.xx:xxxx
(emb701t7.dci.bt.com),4=TCP]

请带我前进。

【问题讨论】:

  • 您使用的是哪个版本的 WebSphereMQ 客户端?它与 WebSphereMQ 服务器上的级别相同吗?也许这个链接可以帮助你:www-01.ibm.com/support/docview.wss?uid=swg1IV00348
  • 我们使用的是 WebSphereMQ 版本:7.0.1.3
  • 您将 WebSphereMQ 类用于 Java 还是 JMS?您是否在 WebSpherMQ 服务器端和 XA 事务上使用通道发送出口?如果答案是肯定的,请查看上面的链接:WebSphereMQ 7.0.1 中存在一个错误,已在 PTF 7.0.1.6 中修复。
  • 链接指向 MQ 和 Process Server 之间的版本差异,也使用通道出口和 XA 扩展事务客户端。帖子中没有提到这些依赖项中的any。 IBM 确实 说的是任何受支持版本的 MQ 客户端都可以与任何受支持版本的 MQ 服务器一起使用。所以服务器/客户端不匹配是一个红鲱鱼。
  • 但是,如您所见,here MQ v7.0.x 受支持,here 最后一个 Fix Pack 是 7.0.1.13。 QMgr 从 2012 年开始运行代码,客户端代码可以追溯到 2010 年。2.0.1.13 代码是上个月的。这是很多修复。考虑到 JMS 的数量和后面的 Fix Pack 中的两个 WebLogic 修复,如果您无法迁移到受支持的客户端,那么至少获得 7.0.1.13。

标签: java jms ibm-mq weblogic11g


【解决方案1】:

我遇到了同样的错误,现在解决了!

正如评论中提到的 Magic Wand,如果您的 MQ jar 版本较低,即如果您的 MQ jar 版本为 7.0.1.5 或以下,则会出现以下错误

Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9208: Error on receive from host

此错误已在 IBM MQ 版本 7.0.1.6 或更高版本中得到修复,如下所述:http://www-01.ibm.com/support/docview.wss?uid=swg1IV00348

添加以下 ibm.mq jar 的较新版本,并确保您也有下面提到的其他 jar:

com.ibm.mq.commonservices.jar 
com.ibm.mq.jar 
com.ibm.mq.jmqi.jar    
com.ibm.mqbind.jar 
com.ibm.mqjms.jar 
fscontext.jar    
jms-1.1-20020430.jar
providerutil.jar

【讨论】:

  • 或者更好的是实际使用 IBM 支持的最新版本,以防遇到问题。自 2015 年以来,7.0.1.x 已不再受支持。8.0 及更高版本是当前唯一受支持的版本。 8.0 在不到 2 年的时间内停止支持,最好使用尚未宣布终止支持的 9.0。 9.1 也将在本月底发布。
  • 我会,但这是一个企业项目,他们通常需要时间来升级堆栈
【解决方案2】:

在 weblogic 中运行的 MQ 客户端和 MQ 队列管理器通道进程之间的 TCP 连接意外中断(这就是返回码 2009 的含义)。这可能归结为许多问题,例如队列管理器被终止、通道进程因某种原因退出、防火墙终止连接等。查看 MQ 队列管理器错误日志以了解与通道进程有关的问题同时。记下错误消息出现的频率,即 weblogic 服务器启动 2 小时后出现的第一个错误。

您可以进行网络跟踪以查看 TCP 连接是如何关闭的以及由谁关闭的。

【讨论】:

  • TCP 连接没有关闭,我们可以通过 TCP 连接到主机
  • 你的意思是你已经验证了clime和服务器之间建立的单个tcp连接没有关闭?因此,当您执行 netstat 时,您仍然可以看到客户端正在使用相同的端口并且连接仍然建立?
猜你喜欢
  • 2017-02-03
  • 1970-01-01
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 2010-11-24
  • 2014-07-22
  • 2020-03-13
相关资源
最近更新 更多