【发布时间】:2018-03-29 03:26:59
【问题描述】:
我正在尝试将我的测试消息写入 MQ,但没有这样做。
分享源代码和错误:
源代码
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueueManager;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQC;
public class MQResponseWriter {
public static void main(String[] args) {
try {
int openOptions = MQC.MQOO_INQUIRE | MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;
MQEnvironment.hostname = "myserver_name";
MQEnvironment.port = 1417;
MQEnvironment.channel = "my_channel_name";
//MQEnvironment.properties.put(CMQC.USER_ID_PROPERTY, "admin");
//MQEnvironment.properties.put(CMQC.PASSWORD_PROPERTY, "passw0rd");
//MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);
MQQueueManager queueManager;
queueManager = new MQQueueManager("queue_manger_name");
MQQueue destQueue = queueManager.accessQueue("queue_name", openOptions);
MQMessage hello_world = new MQMessage();
hello_world.writeUTF("Blah...blah...bleah...test message no.1...!");
MQPutMessageOptions pmo = new MQPutMessageOptions();
destQueue.put(hello_world, pmo);
destQueue.close();
queueManager.disconnect();
System.out.println("------------------------success...");
} catch (Exception e) {
System.out.println("Exception: " + e);
e.printStackTrace();
}
}
}
错误信息
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: Completion Code 2, Reason 2018
Exception: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2009
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2009
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:922)
at com.ibm.mq.MQManagedConnectionJ11.getConnection(MQManagedConnectionJ11.java:426)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:180)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.java:771)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:705)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:434)
at com.module.main.MQResponseWriter.main(MQResponseWriter.java:24)
上述错误的主要原因和解决方案(如果有的话)可能是什么?
【问题讨论】:
-
程序的哪一行产生了错误?遇到问题时,队列管理器 AMQERR01.LOG 中是否显示任何错误消息?您使用的是什么版本的 MQ jar 文件,队列管理器上的 MQ 版本是什么?
标签: ibm-mq