残留消息清除
来源:互联网 发布:移动网络玩lol掉包 编辑:程序博客网 时间:2024/04/29 01:21
当一个消息被返回或回收后,JMS 立即准备再次发送该消息,但是错误情况仍可能没有被消除,并且应用程序可能仍然不能处理该消息。这样的消息就被称为死消息(dead message),仍然驻留在消息队列中。
解决方案A
如果指定的存活时间值 (JMSExpiration ) 小于或等于指定的发送时间值,则消息发送成功。否则,消息会悄然无声地终止。
消息终止
当一个消息被发送到队列中时,客户可以指定一个“存活时间”值。JMS 提供者将不发送已超出存活时间的消息。当超出其存活时间时,存储在队列中的消息将会被删除。
注意:根据 JMS规范,javax.jms.Message 中的 setJMSExpiration() 方法不会被用到应用程序,它被 JMS 自己留作内部使用。然而,应用程序可能通过应用程序服务器设置消息的终止时间。
示例:JMSMessage PutMsg = new JMSMessage(); PutMsg.setJMSDeliveryMode(MQC.MQPER_NOT_PERSISTENT); PutMsg.setJMSExpiration(18000);
解决方案B
我们可以用一个叫 QueueClearProcessor.java 的独立程序,由它使用 QueueBrowser API 来浏览队列中的旧消息,并每隔一段时间将其从队列中清除。可以通过消息创建时间来识别出旧消息。为了访问创建时间戳,JMS 在消息对象中提供了一个 API 方法: (getJMSTimestamp())
解决方案 C
MQSeries Message Browser 提供一个便利的图形化界面来查看和操作 MQ 队列中的消息。通过这个工具 MQSeries 管理员可以在任何消息队列管理器上显示消息内容,并可以对每个消息进行操作。
可能的用途
消息浏览器可以用于:1、显示任何 MQ 消息的完整内容(包括使用十六进制显示特征的非文本消息);2、显示消息描述符中的字段和一个消息中内嵌的任何 MQ 标题;也可以显示匹配数字值的命名为 MQ 的常量;3、在消息中或在一个队列的所有消息中搜索特定的消息内容;
4、从队列中移出单个的消息,或将它们转移到另一个队列中;
5、将 MQ 消息保存到文件;6、创建新的 MQ 消息,并将他们放到当前或者远程队列中。
- 残留消息清除
- 清除软件卸载后的残留项
- 清除dash中应用程序残留信息
- 车托帮APP的顽固残留清除
- 威金病毒(viking)残留文件手动清除办法
- 清除HtmlAgilityPack得到的InnerText中残留的script
- Android 清除消息
- Android 清除消息
- 清除“添加或删除程序”列表中残留的程序项目
- 双系统如何正确的删除ubuntu ----清除GRUB在MBR的残留信息
- 【进程处理】4,刷新任务栏托盘区,清除异常关闭进程的残留图标
- oracle中删除表后会有残留,Oracle中清除BIN$开头的垃圾表
- 如何清除电脑里无用的服务项和系统服务列表中的残留服务
- iOS清除推送的消息
- 农药“残留”
- 残留题目
- 残留题目
- ACE_Message_Queue的超时设置和消息清除
- Linux中的下载加速工具,很强悍!
- 增益
- 一百零八,十八指的是“十八界”,即六根、六尘、六识。
- B2C使营销模式转变
- sudo protection bypass exploit
- 残留消息清除
- ioctlsocket()函数
- hacking oracle笔记
- Zkoss Sessions
- 轻松编写 C++ 单元测试
- 给应届毕业生的几点建议
- Gecko
- xml有什么优势和特点
- 三种强大的物体识别算法——SIFT/SURF、haar特征、广义hough变换的特性对比分析