bas*_*u76 5 spring rabbitmq spring-amqp spring-boot
在将消息传递到 RabbitMQ 之前,有没有办法在调用 template.convertAndSend 后拦截消息。
还有什么方法可以在到达处理程序之前拦截消息?
我可以使用 PostProcessor 处理发布者的消息,但更喜欢使用拦截器。
public class TestPostProcessor implements MessagePostProcessor {
@Autowired
Tracer defaultTracer;
@Override
public Message postProcessMessage(Message message) throws AmqpException {
//.....
//....
return message;
}
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
MessagePostProcessor 是拦截器的一种形式。
有两种方法可以调用一种方法 - 使用convertAndSend()以 MPP 作为参数的重载方法之一,或者向RabbitTemplateusing添加一个或多个setBeforePublishPostProcessors()。
您还可以使用在setAfterReceivePostProcessors()从receive()方法返回接收到的消息之前调用的拦截接收到的消息。
侦听器容器还支持在接收之后和通过其setAfterReceivePostProcessors()方法传递给侦听器之前的 MPP 。
| 归档时间: |
|
| 查看次数: |
3775 次 |
| 最近记录: |