1
我今天看到一个问题。我有几个消息放入队列中,一条消息在服务激活器中抛出错误。错误消息不断尝试,而没有其他消息正在从队列中处理。有什么办法可以在下面的配置中设置发送错误消息到队列消息结束。 (如果队列深度为1000,错误信息将在1000位置)使用jms处理错误的消息:消息驱动通道适配器
<jms:message-driven-channel-adapter id="exch" destination="requestQueue" channel="jmsInChannel"
transaction-manager="txManager" acknowledge="auto" concurrent-consumers="3"/>
<int:service-activator input-channel="jmsInChannel" ref="messageService"/>
请指教。
非常感谢Gary ..很抱歉,我们无法更改任何MQ配置。
我已经尝试如下,并要为errorRetryChannel添加服务激活器。
<int:service-activator input-channel="jmsInChannel" ref="messageService">
<int:request-handler-advice-chain>
<int:retry-advice max-attempts="4" recovery-channel="errorRetryChannel">
<int:exponential-back-off initial="1000" multiplier="5.0" maximum="60000" />
</int:retry-advice>
</int:request-handler-advice-chain>
</int:service-activator>
只是想在文档中更新你有一个int:retry-advice id =“retrier”字段,但集成不允许这样做。没有这个我能够运行没有错误的应用程序。 – 2015-04-01 11:24:09