Я пытаюсь реализовать повторную маршрутизацию сообщений с мертвой буквой, как описано в этом answer. Я использую Spring config. Я понятия не имею, как читать заголовки, чтобы получить исходный ключ маршрутизации и исходную очередь. Ниже мой конфиг:Как читать заголовок X-death сообщения с мертвой буквой RabbitMQ с использованием Spring Boot?
@Configuration
public class NotifEngineRabbitMQConfig {
@Bean
public MessageHandler handler(){
return new MessageHandler();
}
@Bean
public Jackson2JsonMessageConverter messageConverter(){
return new Jackson2JsonMessageConverter();
}
@Bean
public MessageListenerAdapter messageListenerAdapter(){
return new MessageListenerAdapter(handler(), messageConverter());
}
/**
* Listens for incoming messages
* Allows multiple queue to listen to
* */
@Bean
public SimpleMessageListenerContainer simpleMessageListenerContainer(){
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.addQueueNames(QUEUE_TO_LISTEN_TO.split(","));
container.setMessageListener(messageListenerAdapter());
container.setConnectionFactory(rabbitConnectionFactory());
container.setDefaultRequeueRejected(false);
return container;
}
@Bean
public ConnectionFactory rabbitConnectionFactory(){
CachingConnectionFactory factory = new CachingConnectionFactory(HOST);
factory.setUsername(USERNAME);
factory.setPassword(PASSWORD);
return factory;
}
}