我写的IIB流是除其他事项外产生事件消息(监视功能)。为了能够处理所有这些事件,我需要做一个持久订阅。但是,如果我这样做了,并且如果消费应用程序因某种原因不能恢复在线,质量管理可能会填满并最终停止。 有什么办法可以避免这种情况?任何方式来创建一个管理的持久订阅与“强制消息到期”?WebSphere MQ和IIB:活动可能填补队列管理器
回答
这原来是一个相当常见的情况,但一个可以是具有挑战性的。的许多方法可能的,这里有一些常见的:
使用循环队列
“循环队列”是不是IBM的官方用语,但是这是我在我的文章Mission:Messaging: Easing administration and debugging with circular queues杜撰。循环队列使用SupportPac MA01(now on GitHub!)中的Q程序和MQ的本地检测来保持队列调整为MAXDEPTH
的80%。这是2011年发布的,根据我收到的反馈,我猜想至少有100家商店成功地使用了这种自动化。
使用MQ v8.0.0.4
作为MQ V8.0修订包4,IBM还介绍了队列和主题的CAPEXPIRY
属性。 (见:Enforcing lower expiration times)只需设置它,并忘记它。
自动化队列清理
使用Q或QLoad程序来搜索比规定时间早消息,并删除它们。这个安排使用您喜欢的作业调度程序,或使用MQ仪器寻找的东西,如队列填满或很长的队列服务间隔
不要这样做
持久订阅是事情是应该到永远在场或至少可靠地回来。在这些情况下,提供部署订购并删除退役流程的队列部分。如果由于订户是临时的而不存在停用过程,则不要使用持久订阅。我知道,说起来容易做起来难。
注
我不能肯定这个,因为我不再像MQ产品团队的一部分工作,但我怀疑新CAPEXPIRY
功能是提供解决这一问题。当IBM引入MQ MFT(以前称为FTE的产品)时,Explorer模块使用永久性动态订阅来收集文件传输作业状态。然而,很多情况下,我的资源管理器实例忘记了订阅,人们改变了计算机或工作,或导致放弃订阅的一千种其他原因。
这不是用于MFT组要求的易溶问题。有利于用户体验或有利于高效的系统使用,但不是两者兼顾现在我们有CAPEXPIRY
这些订阅队列最终会自行清空。我很快就会预测排队的排队队列将会在哪里排队,这样我们就不会有数十亿人被遗弃的空荡荡的队列。
不要让一个持久订阅如果有机会,消费应用程序可能永远不会重新连接。
- 1. 如何跟踪队列管理器和对象在WebSphere MQ
- 2. 在Websphere MQ中创建新的队列管理器和队列(使用C#)
- 3. 为什么MQ Websphere队列管理器开始监听TCP6
- 4. 无法连接Websphere MQ队列管理器
- 5. MQ中队列管理器和队列之间的区别
- 6. IBM Websphere:队列管理器处理
- 7. 的IBM WebSphere MQ:未能队列管理器和队列与2009年的错误代码
- 8. Websphere MQ远程队列性能跟踪
- 9. 可以创建Websphere队列管理器但不能连接
- 10. IBM MQ资源管理器 - 创建队列管理
- 11. WebSphere MQ和MMX:无法用队列
- 12. WebSphere MQ资源管理和AMQ8077错误
- 13. Websphere MQ-如何查找通过队列管理器传递的消息总数
- 14. 如何连接WebSphere MQ 7.0的队列管理器分布式发布/订阅
- 15. MQ控制台 - 队列管理器不可用,尽管它处于活动状态
- 16. IBM MQ/WebSphere MQ:从.NET管理服务器?
- 17. 保存和恢复队列管理器
- 18. 如何获取禁止WebSphere MQ队列?
- 19. Websphere中的重命名队列MQ
- 20. 孤儿SYSTEM.MANAGED.DURABLE。*队列中的Websphere MQ
- 21. WebSphere MQ创建远程队列
- 22. Websphere使用XMS.Net的MQ队列深度
- 23. 更新到WebSphere MQ队列原子
- 24. WebSphere MQ性能
- 25. 定义WebSphere MQ管理订阅
- 26. WebSphere MQ回退队列中的消息输入队列
- 27. WSO2 Axis2的JMS传输不能设置JMS_DESTINATION上WebSphere MQ队列
- 28. 脚本文件从队列管理器检索MQ消息
- 29. 如何获取给定动态队列(WebSphere MQ)的模型队列名称?
- 30. 如何在Websphere MQ 6中的队列之间移动消息
强迫到期是什么意思?如果在消息上设置MQ,则MQ始终强制到期,只有在get读取消息之前删除消息才会“延迟”。因此,如果您在事件消息中设置了过期时间,并确保应用程序以适当的频率浏览目标队列,则队列将不会满。 –