美好时光!
当应用程序尝试在部署WASCE 3.0后启动时,它会失败并显示错误。在日志中我得到了这个例外:
Caused by: com.ibm.msg.client.jms.DetailedInvalidDestinationException: JMSWMQ2008: Не удалось открыть очередь MQ 'OZI_INPUT'.
При попытке JMS выполнить MQOPEN WebSphere MQ сообщил об ошибке.
Для определения причины ошибки обратитесь к связанной исключительной ситуации. Проверьте правильность определения указанной очереди или администратора очередей.
at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:503)
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:221)
...
Caused by: com.ibm.mq.MQException: JMSCMQ0001: Не удалось выполнить вызов WebSphere MQ с кодом '2' ('MQCC_FAILED') причина '2085' ('MQRC_UNKNOWN_OBJECT_NAME').
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:209)
... 98 more
我检查了队列名称(它是正确的),我可以在wasce 3.0 console admin中从OZI_INPUT获取消息。
使用错误代码我找到了此网址ibm docs
它表示当应用程序在另一个队列管理器(未给定队列管理器)中查找队列时会发生此错误。 要禁用此功能,我应该删除队列中的“基本队列管理器名称”属性。 但我无法在Websphere MQ Explorer中找到类似该属性的内容。
所以问题是我可以在Websphere MQ Explorer中为Websphere MQ 7.5编辑这个属性吗?
更新
在Websphere MQ上,我有两个队列管理器:MQ_ADM和MQ_ADM2(OZI_INPUT和OZI_OUTPUT在这里)。 在Websphere CA 3.0上,我必须使用JMS资源: 对于MQ_ADM - MQRA(com.ibm.mq/WMQRA/7.1.0.1/rar):
Connection Factory jms/MQRA
Queue jms/EHD_CE_OUTPUT
Queue jms/EHD_INPUT
Queue jms/EHD_LK_NPF_OUTPUT
Queue jms/EHD_OUTPUT
Queue jms/EHD_OZI_OUTPUT
对于MQ_ADM2 - OziRA(ozi.jms / OziCommands / 1.0 / rar):
Queue jms/OZI_INPUT
Queue jms/OZI_OUTPUT
当我点击“浏览”按钮时,我可以看到所有这些队列。
我做了一个测试:在MQ_ADM队列管理器中添加OZI_INPUT和OZI_OUTPUT,而不对Websphere CA进行任何更改。 我的申请成功开始了。
如果有用,我可以添加连接器部署计划。
UPDATE2 MQ_ADM的显示队列(SYSTEM。*)
DISPLAY QUEUE(SYSTEM.*)
4 : DISPLAY QUEUE(SYSTEM.*)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.ACCOUNTING.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.ACTIVITY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.CHANNEL.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.COMMAND.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.COMMAND.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.CONFIG.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.LOGGER.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.PERFM.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.PUBSUB.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.QMGR.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.STATISTICS.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.TRACE.ACTIVITY.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.TRACE.ROUTE.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.AUTH.DATA.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.BROKER.ADMIN.STREAM) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.BROKER.CONTROL.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.BROKER.DEFAULT.STREAM) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.BROKER.INTER.BROKER.COMMUNICATIONS)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CHANNEL.INITQ) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CHANNEL.SYNCQ) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CHLAUTH.DATA.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CICS.INITIATION.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.COMMAND.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.HISTORY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.REPOSITORY.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.TRANSMIT.MODEL.QUEUE)
TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.TRANSMIT.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEAD.LETTER.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.ALIAS.QUEUE) TYPE(QALIAS)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.INITIATION.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.LOCAL.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.MODEL.QUEUE) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.REMOTE.QUEUE) TYPE(QREMOTE
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DOTNET.XARECOVERY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DURABLE.MODEL.QUEUE) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DURABLE.SUBSCRIBER.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.HIERARCHY.STATE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.INTER.QMGR.CONTROL) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.INTER.QMGR.FANREQ) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.INTER.QMGR.PUBS) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.INTERNAL.REPLY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.JMS.TEMPQ.MODEL) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.MQEXPLORER.REPLY.MODEL) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.MQSC.REPLY.QUEUE) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.NDURABLE.MODEL.QUEUE) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.PENDING.DATA.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.PROTECTION.ERROR.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.PROTECTION.POLICY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.RETAINED.PUB.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.SELECTION.EVALUATION.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.SELECTION.VALIDATION.QUEUE)
TYPE(QLOCAL)
和MQ_ADM2的显示队列(系统。*)
DISPLAY QUEUE(SYSTEM.*)
1 : DISPLAY QUEUE(SYSTEM.*)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.ACCOUNTING.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.ACTIVITY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.CHANNEL.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.COMMAND.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.COMMAND.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.CONFIG.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.LOGGER.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.PERFM.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.PUBSUB.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.QMGR.EVENT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.STATISTICS.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.TRACE.ACTIVITY.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.TRACE.ROUTE.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.AUTH.DATA.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.BROKER.ADMIN.STREAM) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.BROKER.CONTROL.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.BROKER.DEFAULT.STREAM) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.BROKER.INTER.BROKER.COMMUNICATIONS)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CHANNEL.INITQ) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CHANNEL.SYNCQ) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CHLAUTH.DATA.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CICS.INITIATION.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.COMMAND.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.HISTORY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.REPOSITORY.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.TRANSMIT.MODEL.QUEUE)
TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.CLUSTER.TRANSMIT.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEAD.LETTER.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.ALIAS.QUEUE) TYPE(QALIAS)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.INITIATION.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.LOCAL.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.MODEL.QUEUE) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DEFAULT.REMOTE.QUEUE) TYPE(QREMOTE
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DOTNET.XARECOVERY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DURABLE.MODEL.QUEUE) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.DURABLE.SUBSCRIBER.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.HIERARCHY.STATE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.INTER.QMGR.CONTROL) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.INTER.QMGR.FANREQ) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.INTER.QMGR.PUBS) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.INTERNAL.REPLY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.JMS.TEMPQ.MODEL) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.MQEXPLORER.REPLY.MODEL) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.MQSC.REPLY.QUEUE) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.NDURABLE.MODEL.QUEUE) TYPE(QMODEL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.PENDING.DATA.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.PROTECTION.ERROR.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.PROTECTION.POLICY.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.RETAINED.PUB.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.SELECTION.EVALUATION.QUEUE)
TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.SELECTION.VALIDATION.QUEUE)
TYPE(QLOCAL)
对于MQ_ADM:
DISPLAY QUEUE(*)
1 : DISPLAY QUEUE(*)
AMQ8409: Сведения об очереди.
QUEUE(AMQ.MQEXPLORER.1380471368) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(COMMAND_INPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(EHD_CE_OUTPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(EHD_INPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(EHD_LK_NPF_OUTPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(EHD_OUTPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(EHD_OZI_OUTPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(OZI_INPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(OZI_OUTPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.ACCOUNTING.QUEUE) TYPE(QLOCAL)
对于MQ_ADM2:
DISPLAY QUEUE(*)
1 : DISPLAY QUEUE(*)
AMQ8409: Сведения об очереди.
QUEUE(AMQ.MQEXPLORER.1293962528) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(OZI_INPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(OZI_OUTPUT) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.ACCOUNTING.QUEUE) TYPE(QLOCAL)
AMQ8409: Сведения об очереди.
QUEUE(SYSTEM.ADMIN.ACTIVITY.QUEUE) TYPE(QLOCAL)
答案 0 :(得分:1)
OZI_INPUT是MQ群集队列吗?您提供的链接适用于MQ群集队列。 MQ集群中的Base队列管理器是队列管理器,其中定义了队列/主题。您可以设置“基本队列管理器”属性。它只是队列管理器中定义队列的。
您的应用程序是否尝试从MQ群集队列(在本例中为OZI_INPUT)中获取消息,并且在应用程序所连接的队列管理器中定义了 NOT ?请记住,即使队列是群集队列,应用程序也必须连接到队列管理器,在该队列管理器中定义队列以获取GET消息。但是,即使队列在集群中的某个其他队列管理器中定义,也可以将消息PUT到集群队列。
如果不使用MQ Cluster,请检查您的应用程序是否连接到定义了OZI_INPUT队列的队列管理器。
答案 1 :(得分:1)
我相信您遇到了队列名称解析问题。在队列上调用MQ_OPEN
时,队列管理器首先尝试确定队列是否驻留在当前具有连接的队列管理器上。如果没有,则它尝试解析到MQ_OPEN
命令中指定的队列管理器的路由。这意味着它必须要么知道来自集群成员资格的QMgr,要么必须有一个具有远程QMgr名称的传输队列,或者一个具有远程QMgr名称且指向传输队列的QRemote。其中任何一个都将解析远程QMgr名称。
由于您没有设置MQ集群,并且列表中没有名为MQ_ADM
或MQ_ADM2
的队列,因此任何在非本地QMgr上打开队列的尝试都将失败。现在的问题是,应用程序是否有可能(或可能)试图打开非本地队列。
您尚未列出的一个配置项是JMS Administered对象的内容。您没有在资源管理器中看到Base QMgr Name的属性,因为这是受管理的[ConnectionFactory][1]
对象的属性,而不是QMgr知道的任何物理对象。由于您管理的对象列表仅在connectionFactory
jms/MQRA
上显示MQ_ADM
,因此连接必须到MQ_ADM
队列管理器。但失败的目的地是OZI_INPUT
,这是一个定义到MQ_ADM2
QMgr的队列。任何从MQ_ADM
打开该队列的尝试都将触发QMgr名称解析,并且由于没有从该QMgr到MQ_ADM2
的已定义路由,因此打开失败。
行为不是您所期望的,而是从 WMQ视角,基于已提供的配置,它完全符合预期。换句话说,您对WMQ路由的理解与实际工作方式之间存在细微的脱节。为解决此问题,我建议您阅读以下信息中心部分:
请注意最后一个引用每个对象类型,但主题除了将队列管理器作为属性。这意味着如果您连接到一个QMgr并引用指向另一个QMgr的对象,无论该对象是connectionFactory
类型还是queue
对象之一,都将触发对远程的解析队列管理器。确保您的应用程序引用了正确的QMgrs,如果您需要消息从一个QMgr流向另一个QMgr,请确保正确设置了相互通信。这意味着渠道,传输队列和可能的QRemote定义。