在间隔后重新尝试获取消息

时间:2015-04-21 05:39:32

标签: spring-jms

DefaultMessageListenerContainer(DMLC)轮询Q上的消息。如果有消息,它将调用已配置的监听器的onMessage方法。如果onMessage执行某些操作,例如DB write,由于某种原因而失败,我们希望回滚事务,以便消息保留在Q上,并在下一个轮询周期中获取。

但是,我们希望DMLC在事务失败后尝试重新轮询之前等待一段时间。这样我们就可以给系统一些时间来摆脱错误的情况。

我们如何实现这一目标?

谢谢,

佳日

1 个答案:

答案 0 :(得分:3)

您不能在DMLC中执行此操作 - JMS标准不支持它。

某些经纪人(例如ActiveMQ)可以配置为延迟重新发送。