我正在使用Spring JMS连接到Websphere MQ服务器.我实现了SessionAwareListener接口来创建自定义侦听器,重用业务逻辑的旧代码.
在测试时,监听器抛出一个我无法捕获的StringIndexOutOfBoundsException.但是,我在日志中看到以下打印了大约32次,然后DMLC停止了.
WARN - Execution of JMS message listener failed
Run Code Online (Sandbox Code Playgroud)
有没有办法控制DMLC重试消息的频率,以及如何处理未捕获的异常?
一些错误后放回消息队列被称为退出在WebSphere MQ的世界.
如何处理它有两种选择:
在队列管理器中:您可以为给定队列配置回退阈值和回退重新排队名称属性.达到回退阈值后,队列管理器会将消息放入由回退重新排队名称指定的队列,而不是重新传递它.有关更多信息,请参阅WebSphere MQ队列属性.
在您的应用程序中:如果使用JMS API,请在开始处理消息之前通过调用msessage.getIntProperty("JMSXDeliveryCount")来检查JMSXDeliveryCount属性.如果达到某个阈值,则将错误处理为错误.
| 归档时间: |
|
| 查看次数: |
7615 次 |
| 最近记录: |