gpt4 book ai didi

spring - 如何在 Spring AMQP 中使用拦截器

转载 作者:行者123 更新时间:2023-12-01 19:04:15 28 4
gpt4 key购买 nike

在消息传递到 RabbitMQ 之前,有没有办法在调用 template.convertAndSend 后拦截消息。

还有什么方法可以在到达处理程序之前拦截消息?

我可以使用 PostProcessor 为发布者处理消息,但更喜欢使用拦截器。

public class TestPostProcessor implements MessagePostProcessor {

@Autowired
Tracer defaultTracer;

@Override
public Message postProcessMessage(Message message) throws AmqpException {
//.....
//....
return message;
}
}

有什么建议吗?

最佳答案

MessagePostProcessor 是拦截器的一种形式。

有两种方法可以调用其中一种 - 使用以 MPP 作为参数的重载 convertAndSend() 方法之一,或者向 RabbitTemplate 添加一个或多个方法使用setBeforePublishPostProcessors()

您还可以使用 setAfterReceivePostProcessors() 拦截接收到的消息,该函数在从 receive() 方法返回接收到的消息之前调用。

监听器容器还通过其 setAfterReceivePostProcessors() 方法在接收之后和传递给监听器之前支持 MPP。

关于spring - 如何在 Spring AMQP 中使用拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40184003/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com