如何解决此 MQ 的问题

问题描述 投票:0回答:2

https://i.sstatic.net/Sj3Jr.png

我使用命令 dis ql(WY) 并看到 CURDEPTH 已满,我该怎么办

java ibm-mq
2个回答
1
投票

队列已满,因为没有应用程序使用其中的消息。你可以

  1. 识别将消息放入此队列的应用程序,并确定消息是否为此队列缩进。

  2. 如果消息是用于此队列的,是否有任何应用程序配置为使用此队列中的消息?如果有的话,应用程序是否正在运行,如果正在运行,为什么它不消耗?如果不是为什么它没有运行,请启动它。

  3. 如果您认为消息不重要,请清除队列。禁用将消息放入此队列。

编辑:

您的屏幕截图显示 IPPROCS(10) 和 OPPROCS(1),这意味着队列由 10 个用于 GETting 的应用程序和 1 个用于 PUTting 消息的应用程序打开。但队列仍然满了。可能是应用程序没有使用消息,但应用程序没有正确报告错误。

您可以使用 DISPLAY QSTATUS 命令查看队列上最后一条消息的日期和时间统计信息。详情请看这里


0
投票

我知道这是一个旧线程,但是您是否检查过消费应用程序是否正在执行 MQGET 或 MQGMO_BROWSE_FIRST 和 NEXT ? 通过浏览,消息将保留在队列中,但是 MQGET 将在读取后删除消息。 谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.