MQJE001:完成代码' 2',Reason' 2495

时间:2014-12-16 06:39:30

标签: java ibm-mq

我希望从基于java的IBM MQ收到一些消息。所以我写了一个非常简单的代码来测试我想要的东西。以下是示例代码。

    Const.MQ_QMANAGER = "QM.CREDITWEB3T.PC";
    Const.MQ_QUEUE_RECEIVE = "MQ.AIRPORTS";

    MQSimpleConnectionManager myConnMan = new MQSimpleConnectionManager();
    myConnMan.setActive(MQSimpleConnectionManager.MODE_AUTO);

    MQQueueManager qMgr = new MQQueueManager(Const.MQ_QMANAGER,
                    myConnMan);

当我新推MQQueueManager时。它抛出一条错误信息。

错误消息是

  

MQJE001:完成代码'2',原因'2495'

有人可以帮我弄清楚这里有什么问题吗?非常感谢。

2 个答案:

答案 0 :(得分:0)

多次出错并搜索答案。最后我找到了解决方案。你需要解决MQ的环境参数。我很抱歉,因为我对MQ这么新。以下是示例代码。

    // Host
    MQEnvironment.properties.put(MQConstants.HOST_NAME_PROPERTY,
            Const.MQ_HOST_NAME_PROPERTY);
    // Port
    MQEnvironment.properties.put(MQConstants.PORT_PROPERTY,
            Const.MQ_PORT_PROPERTY);
    // Channel
    MQEnvironment.properties.put(MQConstants.CHANNEL_PROPERTY,
            Const.MQ_CHANNEL_PROPERTY);
    MQEnvironment.properties.put(MQConstants.CCSID_PROPERTY, XXX);

答案 1 :(得分:0)

(1)您的第一个帖子是请求与队列管理器的连接处于“绑定模式”。这意味着您必须在运行队列管理器的同一服务器上运行代码。

(2)您的第二个帖子是请求与队列管理器的连接处于“客户端模式”(通过网络即TCP / IP)。这意味着您可以在远程服务器上运行代码并使用网络连接到远程队列管理器。