8 jms jboss-mdb ejb-3.0 ibm-mq
我希望有人可以帮助我 - 我在基于EJB/JMS的应用程序中使用JBoss 5.1和MQ Series 7.我的应用程序中有几个消息驱动的bean,每个bean都在MQ Series消息队列上进行监听.当在处理消息期间遇到错误时,我需要能够配置"重试延迟",以便mq系列在尝试重新传递消息之前等待一段时间.我已经广泛地梳理了MQ系列文档,并且还没有找到在MQ系列中实现这一目标的方法.我知道JBoss默认的JMS提供程序有办法实现这一点,但我目前仅限于使用MQ Series.由于我无法设置重试延迟 - 当我的消息失败时,我的应用程序会陷入紧急循环,传递消息并不断回滚.任何人都可以帮助我理解MQ系列中是否有一些配置选项允许我在重新发送失败的消息之前等待X毫秒?
小智 7
这可能是为这样一个问题制定一点基础设施的机会.
由于您可以在消息进入bean时查看JMSDeliveryCount(在处理它之前 - 考虑提交范围),您可以看到它已经有几个回滚,将消息发送到暂存队列但是附加了jms属性中的目标队列名称,以便稍后使用.
一个简单的进程可以在某个时间间隔内运行以清除登台队列(例如每5分钟)并将消息发送到路由队列.
另一个进程可以位于路由队列上并查看jms属性(将目标队列名称添加到其中)并将消息一起发送到原始目标.
这是一个穷人的经纪人,但它会实现目标.确实没有太多的内置来真正做你想要的.
| 归档时间: |
|
| 查看次数: |
3546 次 |
| 最近记录: |