gpt4 book ai didi

java - IBM WebSphere MQ 2042 错误

转载 作者:行者123 更新时间:2023-11-30 09:28:34 24 4
gpt4 key购买 nike

我有以下代码:

int openOptions = MQC.MQOO_INQUIRE 
+ MQC.MQOO_FAIL_IF_QUIESCING
+ MQC.MQOO_INPUT_SHARED;

执行时出现错误:

com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2042 MQJE001: Completion Code 2, Reason 2042

这发生在将我的 Java 程序与 WebSphere MQ 连接时。请注意队列属性设置为输入共享。感谢所有帮助。

最佳答案

尽管队列可能设置为DEFSOPT(SHARED),但这只是默认设置。它不会阻止程序以独占方式打开它。特别是,非集群 channel 的传输队列、命令队列和 MQ 系统组件使用的其他队列以独占方式打开,而不管队列的默认设置如何。同样,监控程序通常会打开事件队列供独占使用,以确保其他程序不会竞争消息而导致错过关键事件。

它是事件队列还是 XMit 队列之一?如果是这样,您可能无法在不停止 channel 或监视代理程序的情况下消除错误。如果是用户自定义队列,使用DISPLAY QSTATUS命令查看哪个进程打开了独占输入,然后断开该进程。

这是一个例子:

C:\Users\T.Rob>runmqsc QM75
5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED.
Starting MQSC for queue manager QM75.


dis qs(system.admin.command.queue) all
1 : dis qs(system.admin.command.queue) type(handle) all
AMQ8450: Display queue status details.
QUEUE(SYSTEM.ADMIN.COMMAND.QUEUE) TYPE(HANDLE)
APPLDESC(WebSphere MQ Command Server)
APPLTAG(here MQ 7.5\bin\amqpcsea.exe)
APPLTYPE(SYSTEM) BROWSE(NO)
CHANNEL( ) CONNAME( )
ASTATE(NONE) HSTATE(ACTIVE)
INPUT(EXCL) INQUIRE(YES)
OUTPUT(NO) PID(5220)
QMURID(0.0) SET(NO)
TID(1)
URID(XA_FORMATID[] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR)

对于附加到队列的每个进程,该命令的输出将重复。它显示可执行文件名称(在本例中为命令服务器的 amqpcsea)、打开类型、进程 ID 和线程 ID。请注意,此处显示的是 INPUT(EXCL),表示没有其他内容可以打开命令队列以浏览或获取消息。

关于java - IBM WebSphere MQ 2042 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13965468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com