当前位置: 首页 > 知识库问答 >
问题:

连接:MQJE001:完成代码“%2”,原因“2538”时拒绝连接

陈铭晨
2023-03-14
def mqProps = new Hashtable<String, Object>()
mqProps.put(MQConstants.CHANNEL_PROPERTY, 'CHANNEL')
mqProps.put(MQConstants.PORT_PROPERTY, PORT)
mqProps.put(MQConstants.HOST_NAME_PROPERTY, 'HOST')
mqProps.put(MQConstants.USER_ID_PROPERTY, 'myuser') // is it the correct property for the user? 
mqProps.put(MQConstants.PASSWORD_PROPERTY, 'mypassword') // is it the correct property for the password?

def qMgr = new MQQueueManager('QM', mqProps)
javax.script.ScriptException: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2538'
...
Caused by: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2538'.
...
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2538;AMQ9204: Connection to host 'HOST(PORT)' rejected.
...
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2538;AMQ9204: Connection to host 'HOST/address:PORT' rejected.
...
Caused by: java.net.ConnectException: Connection timed out: connect
...
def qMgr = new MQQueueManager('QM', mqProps)

你能给我解释一下这个问题的原因吗?非常感谢。

共有1个答案

齐栋
2023-03-14

原因代码2538是mqrc_host_not_available。

您可以通过使用IBM MQ附带的mqrc命令行工具快速发现这一点。类型:

mqrc 2538

你会被告知:

    2538  0x000009ea  MQRC_HOST_NOT_AVAILABLE
  • 远程系统上尚未启动侦听器。
  • 客户端通道定义中的连接名称不正确。
  • 网络当前不可用。
  • 阻止端口或特定于协议的流量的防火墙

可能最常见的错误是,在队列管理器上运行的侦听器使用的端口号与您在客户端应用程序连接详细信息中所使用的端口号不同。

您在问题中没有向我们展示关于在队列管理器上运行的侦听器的任何细节,因此我们将不得不让您自己检查。

 类似资料: