如何在Dead刻字中使用RepublishMessageRecoverer?

时间:2014-10-21 13:24:07

标签: java spring rabbitmq spring-rabbit dead-letter

我为我正在使用的几个队列设置了死信。在我使用的配置中:

<bean id="retryAdvice"
    class="org.springframework.amqp.rabbit.config.StatefulRetryOperationsInterceptorFactoryBean">
    <property name="messageRecoverer" ref="rejectAndDontRequeueRecoverer"/>
    <property name="retryOperations" ref="retryTemplate" />
</bean>

<bean id="rejectAndDontRequeueRecoverer" class="org.springframework.amqp.rabbit.retry.RejectAndDontRequeueRecoverer"/>

如果我希望死信队列中的消息具有x-exception-stacktrace,我读到我需要使用RepublishMessageRecoverer。 在死字母中使用它就像在上面的设置中用ReublishMessageRecoverer替换RejectAndDontRequeueRecoverer一样简单,还是需要编写自定义的messageRecoverer?

1 个答案:

答案 0 :(得分:2)

是的,只需更换回收器即可。完全没有使用正常的RabbitMQ死字母(消息将是确认消息),您不需要配置DLE / DLQ;您可以完全控制回收者的消息来源。