我用MQ v7库(No JMS)编写了一个简单的Java客户机。我尝试使用下面的模式放在一个队列中的消息:长时间空闲后放置消息不起作用
Put a message
Wait for x minutes
Put a message again
它的工作原理,但如果空闲时间过长(5-7分钟),我收到以下错误:
MQJE001: An MQException occurred: Completion Code 2, Reason 2195
MQJE007: IO error reading message data
Error occured during API call - reason code0
MQJE001: Completion Code 2, Reason 2009
MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE003: IO error transmitting message buffer
MQJE001: Completion Code 2, Reason 2009
MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE003: IO error transmitting message buffer
MQJE001: Completion Code 2, Reason 2009
MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE003: IO error transmitting message buffer
MQJE001: Completion Code 2, Reason 2009
MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE003: IO error transmitting message buffer
MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE003: IO error transmitting message buffer
MQJE001: Completion Code 2, Reason 2009
An MQSeries error occurred : Completion code 2 Reason code 2009
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2009
at com.ibm.mq.MQQueue.put(MQQueue.java:1511)
在读取主题上的多个线程后,此错误通常会创建FDC转储,但我在系统和队列管理器日志中没有任何内容。该频道是一个SVRCONN频道。
罐子被嵌入在Java客户端,它是v5.3 jars o_O。使用v7 jar解决了这个问题。 Thx为答案。 – Sydney
D'oh!这发生了很多。在某些情况下,我们看到用户报告已安装WMQ客户端的PMR,但当我们查看FDC文件时,它会报告不同的版本。挖掘一下,通常情况下,应用程序捆绑了客户端jar,并且没有对已安装的客户端应用维护或修复的影响。新版本的WMQ服务器报告正在连接的WMQ客户端的版本以帮助解决此问题。 –