Как использовать RepublishMessageRecoverer в Мертвых буквах?
У меня есть мертвые буквы для нескольких очередей, которые я использую. В конфигурации я использую:
<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. Используете ли это в мертвых буквах так же просто, как заменить RejectAndDontRequeueRecoverer на RepublishMessageRecoverer в вышеуказанном параметре, или мне нужно написать собственный messageRecoverer?
1 ответ
Решение
Да, просто замените восстановитель. Нормальный RabbitMQ
мертвые буквы вообще не используются (сообщение будет подтверждено), и вам не нужно настраивать DLE/DLQ; у вас в контроллере есть полный контроль над тем, куда отправляется сообщение.