메시지가 RabbitMQ에 전달되기 전에 template.convertAndSend가 호출되면 메시지를 가로채는 방법이 있습니까?Interceptor를 Spring AMQP와 함께 사용하는 방법
또한 핸들러에 도달하기 전에 메시지를 차단하는 방법은 무엇입니까?
게시자 용 PostProcessor를 사용하여 메시지를 처리 할 수 있지만 요격기를 사용하는 것이 좋습니다.
public class TestPostProcessor implements MessagePostProcessor {
@Autowired
Tracer defaultTracer;
@Override
public Message postProcessMessage(Message message) throws AmqpException {
//.....
//....
return message;
}
}
의견이 있으십니까?
'게시자를 위해 PostProcessor를 사용하여 메시지를 처리 할 수 있지만 인터셉터를 사용하는 것을 선호합니다. '당신이 그 의미를 설명 할 수 있습니까? MPP는 인터셉터의 한 형태입니다. 리스너 컨테이너는 또한 수신 한 후 MPP를 수신하고 리스너에게 전달하기 전에'setAfterReceivePostProcessors()'를 지원합니다. –
그것을 사용하려면 rabbitTemplate.convertAndSend (routingKey, "Message", postProcessor); - 우리가 여기에 그것을 제공 할 필요없이 이것을 삽입 할 수있는 방법이 있는지 궁금해하고있었습니다. 또한 SimpleMessageListenerContainer에서 어떻게 처리할까요? – basu76
예; 내 대답을 보라. –