ibm-mq - 我可以停止特定队列吗?
问题描述
在 IBM MQ 中是否可以通过控制台(命令行)停止队列?我知道如何用endmqm
. 但是我可以运行一个控制台命令来停止一个队列吗?
解决方案
队列不能独立于队列管理器而停止。但是,根据您的设置,您可能会发现限制放入和/或进入/退出队列可以实现您想要的目标。这将允许您阻止应用程序将新消息添加到队列和/或从队列中删除消息。
这可以使用runmqsc
界面中的命令来完成。https://www.ibm.com/support/knowledgecenter/SSFKSJ_latest/com.ibm.mq.ref.adm.doc/q083460_.htm
以下是您需要的命令:
runmqsc QUEUE_MANAGER_NAME
ALTER QLOCAL('QUEUE_NAME') GET(DISABLED)
ALTER QLOCAL('QUEUE_NAME') PUT(DISABLED)
EXIT
下面是我在队列管理器 MyQM1 上为名为 Q1 的队列禁用 PUT 和 GET 的命令和输出。
mqa(mqcli)# runmqsc MyQM1
5724-H72 (C) Copyright IBM Corp. 1994, 2020.
Starting MQSC for queue manager MyQM1.
ALTER QLOCAL('Q1') GET(DISABLED)
1 : ALTER QLOCAL('Q1') GET(DISABLED)
AMQ8008I: IBM MQ Appliance queue changed.
ALTER QLOCAL('Q1') PUT(DISABLED)
2 : ALTER QLOCAL('Q1') PUT(DISABLED)
AMQ8008I: IBM MQ Appliance queue changed.
我建议首先在测试环境中尝试一下,以确保它满足您的需求并且您的应用程序对错误消息的行为正确。例如“队列当前禁止 MQGET 调用。(2016)”
推荐阅读
- java - 将多个 int 值与 0 进行比较的有效方法
- asp.net-core-mvc-2.0 - Asp.Net Core 2.2 MVC - 在子文件夹中设置到控制器的默认路由
- formula - 不使用表格计算的 Tableau 运行总计
- c# - 如何将自动生成的 ID 插入外键列
- android - 如何使用 Android 手机摄像头扫描图像(来自 PC 显示器)并将图像数据转换为 OpenCV Mat 格式?
- python-3.x - 在单独的线程中等待而不阻塞主事件循环,异步 python
- excel - 每年、每月和每天计算 GEOMEAN
- ios - iOS 上的 Ionic v4 状态栏文本没有改变
- memory - 获取存储在地址空间中的内存
- javascript - React Native 中的第一个数据中来自 API responseJson 的未定义数据