メッセージがRabbitMQに配信される前に、template.convertAndSendが呼び出されると、メッセージを傍受する方法はありますか?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
はい。私の答えを見てください。 –