有没有一种方法可以使用Spring Spring AMQP拦截每个传入和传出的消息?类似于Servlet上下文中的过滤器.
解决方法:
Spring AMQP有一个MessagePostProcessor接口;侦听器容器(SimpleMessageListenerContainer)可以配置一个或多个afterReceivePostProcessors,可用于捕获(或操作)消息.
同样,RabbitTemplate具有beforePublishPostProcessors和afterReceivePostProcessors.
例如,我们使用这种机制进行压缩(zip outbound和unzip inbound).