如何在Spring中正确获取RabbitMQ中的所有队列消息?

Abz*_*tov 6 spring stomp rabbitmq mqtt spring-websocket

我使用Spring,Spring-Websocket,STOMP作为我的应用程序,RabbitMQ作为代理.我需要将通过RabbitMQ传递的所有消息记录到Postgresql表中.我知道我可以在Spring编写@MessageMapping并在那里登录,但我的问题是有些客户端通过MQTT协议直接与RabbitMQ通信,Spring还不支持它(https://jira.spring.io/browse/SPR -12581).此外,浏览器客户端使用STOMP协议通过Spring与RabbitMQ进行通信.

RabbitMQ允许使用Firehose跟踪器跟踪所有消息.如何从Spring正确收听amq.rabbitmq.trace主题?或者我是否需要将单独的Java应用程序编写为消费者?

Art*_*lan 1

Spring AMQP适合您!

您可以将一些自定义绑定queueamq.rabbitmq.trace具有适当模式(例如publish.#)的队列,并配置SimpleMessageListenerContainer为从该队列接收消息。

@EnableRabbit即使使用非常简单的配置和@RabbitListener某些 POJO 方法也可以完成。无论如何,Binding @Bean必须将您的队列附加到该交换器。