Gibt es eine Möglichkeit, Nachrichten abzufangen, sobald template.convertAndSend aufgerufen wird, bevor die Nachricht an RabbitMQ übermittelt wird.Verwendung von Interceptor mit Spring AMQP
Auch eine Möglichkeit, die Nachricht abzufangen, bevor sie den Handler erreicht?
Ich kann die Nachricht mit PostProcessor für Publisher behandeln, aber Interceptor lieber verwenden.
public class TestPostProcessor implements MessagePostProcessor {
@Autowired
Tracer defaultTracer;
@Override
public Message postProcessMessage(Message message) throws AmqpException {
//.....
//....
return message;
}
}
Irgendwelche Vorschläge?
'> Ich kann die Nachricht mit PostProcessor für Publisher behandeln, aber lieber Interceptor verwenden. Können Sie erklären, was Sie damit meinen? Das MPP ist eine Form von Interzeptor. Der Listener-Container unterstützt auch MPPs nach dem Empfang und vor der Zustellung an den Listener: 'setAfterReceivePostProcessors()'. –
Um es zu verwenden, musste ich rabbitTemplate.convertAndSend (routingKey, "Message", postProcessor); - hat sich gefragt, ob es einen Weg gibt, dies zu injizieren, ohne dass wir es hier angeben müssen. Wie würden wir es auch auf SimpleMessageListenerContainer tun? – basu76
Ja; Sieh meine Antwort. –