时间很好!
当应用程序在部署到WASCE3.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控制台管理中从OZI_INPUT获得消息。
使用错误代码,我找到了这个url ibm博士
它说,当应用程序在另一个队列管理器(而不是给定的队列管理器)中查找队列时,会发生此错误。若要禁用此功能,应删除队列中的属性“基本队列管理器名称”。但是我在Websphere MQ Explorer中找不到类似的属性。
那么问题是我在哪里可以编辑Websphere MQ资源管理器中的Websphere MQ 7.5属性呢?
更新
在Websphere MQ上,我有两个队列管理器: MQ_ADM和MQ_ADM2 (OZI_INPUT和OZI_OUTPUT在这里)。在Websphere CA3.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当我单击“浏览”按钮时,我可以看到所有这些队列。
我做了一个测试:将OZI_INPUT和OZI_OUTPUT添加到MQ_ADM队列管理器中,而不会对Websphere进行任何更改。我的申请成功启动了。
我可以添加连接器部署计划,如果它是有用的。
用于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的显示队列(System.*)
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)发布于 2014-04-20 13:32:49
OZI_INPUT是MQ集群队列吗?您提供的链接适用于MQ集群队列。MQ集群中的基本队列管理器是定义队列/主题的队列管理器。没有什么像“基本队列管理器”属性可以设置。定义队列的仅仅是队列管理器。
您的应用程序是否试图从MQ集群队列(本例中为OZI_INPUT)获取消息,并且应用程序连接到的队列管理器中是否定义了而不是?记住,即使队列是集群队列,应用程序也必须连接到定义队列的队列管理器以获取消息。但是,即使队列是在集群中的其他队列管理器中定义的,也可以将消息放入群集队列。
如果不使用MQ集群,则检查应用程序是否连接到定义OZI_INPUT队列的队列管理器。
发布于 2014-04-23 01:08:58
我相信您有队列名解析问题。当队列上调用MQ_OPEN时,队列管理器首先尝试确定队列是否驻留在当前具有连接的队列管理器上。如果没有,则尝试解析到MQ_OPEN命令中指定的队列管理器的路由。这意味着它必须从集群成员中了解该QMgr,或者必须有一个具有远程QMgr名称的传输队列,或者一个具有远程QMgr名称并指向传输队列的QRemote。其中任何一个都将解析远程QMgr名称。
由于您没有设置MQ集群,并且您的清单中没有名为MQ_ADM或MQ_ADM2的队列,所以在非本地QMgr上打开队列的任何尝试都将失败。现在的问题是,该应用程序实际上是否有可能(或很可能)试图打开一个非本地队列。
您还没有列出的一个配置项是JMS受管理对象的内容。您不会在资源管理器中看到基本QMgr名称的属性,因为它是受管理的[ConnectionFactory][1]对象的属性,而不是QMgr所知道的任何物理对象。由于受管理对象的清单只显示jms/MQRA在MQ_ADM上的jms/MQRA,因此连接必须是到MQ_ADM队列管理器。但是失败的目的地是OZI_INPUT,它是定义给MQ_ADM2 QMgr的队列。任何从MQ_ADM打开队列的尝试都将触发QMgr名称解析,而且由于没有从该QMgr到MQ_ADM2的定义路由,打开失败。
这种行为不是您所期望的,但是从WMQ的角度来看,基于所提供的配置,它与预期完全相同。换句话说,您对WMQ路由的理解与它的实际工作方式略有脱节。为了解决这个问题,我建议阅读Infocenter的以下部分:
注意,在最后一个引用中,除了主题之外,每个对象类型都有Queue作为属性。这意味着,如果连接到一个QMgr并引用指向另一个QMgr的对象,无论该对象是connectionFactory类型之一还是queue对象,都将触发对远程队列管理器的解析。确保应用程序引用了正确的QMgrs,如果需要消息从一个QMgr流到另一个QMgr,请确保正确设置了相互通信。这意味着通道、传输队列以及可能的QRemote定义。
祝好运!一旦你通过了这个问题,记得把下一件事作为一个不同的问题来发布,而不是更新这个问题,因为StackOverflow处理离散的问题(不像论坛),然后就会有下一件事。:-)
https://stackoverflow.com/questions/23181883
复制相似问题