jms - 连接时连接被拒绝:MQJE001:完成代码“2”,原因“2538”
问题描述
我正在尝试访问队列。
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)
你能解释一下这个问题的原因吗?十分感谢。
解决方案
原因代码 2538 是MQRC_HOST_NOT_AVAILABLE。
mqrc
您可以使用IBM MQ 附带的命令行工具快速发现这一点。类型:
mqrc 2538
你会被告知:
2538 0x000009ea MQRC_HOST_NOT_AVAILABLE
或者,您可以在 IBM MQ 知识中心中查找它。
阅读 Knowledge Center 中的解释将向您展示该问题的许多常见可能性。
- 侦听器尚未在远程系统上启动。
- 客户端通道定义中的连接名称不正确。
- 网络当前不可用。
- 阻止端口或协议特定流量的防火墙
最常见的错误可能是在队列管理器上运行的侦听器使用的端口号与您在客户端应用程序连接详细信息中输入的端口号不同。
您没有在问题中向我们展示有关在队列管理器上运行的侦听器的任何详细信息,因此我们必须将其留给您自己检查。
推荐阅读
- html - 在 Razor 页面中添加动态 html 属性会中断自动绑定
- node.js - 使用快速后端将 React SPA 中的图像保存在 S3 中
- javascript - 如何在此处添加事件委托?
- mysql - MySQL 错误 #1067 'UpdatedAt' 的默认值无效
- reactjs - 如何从带有样式组件的主题中获取变量并在 astroturf css 中使用
- keyboard - 安装Vmware工作站pro后本地机器键盘不工作
- c# - 自定义 MasterPage 类停止使用 Bootstrap 5
- python - 在 CPU 和 GPU 之间进行网络层拆分以进行推理
- java - 给定一个数组,每个元素计数多少分
- go - 如何不为每个原型结构重复相同的字段?