如何在Spring中正确地从RabbitMQ获取所有队列消息?
我在应用程序中使用Spring、SpringWebSocket、STOMP和RabbitMQ作为代理。我需要记录所有通过RabbitMQ传递到Postgresql表的消息。 我知道我可以在Spring中编写@MessageMapping并在那里登录,但我的问题是一些客户端直接通过MQTT协议与RabbitMQ通信,Spring还不支持它()。此外,浏览器客户端使用STOMP协议通过Spring与RabbitMQ通信 RabbitMQ允许使用Firehose tracer跟踪所有消息。如何正确收听Spring的amq.rabbitmq.trace主题?或者我需要作为消费者编写单独的Java应用程序吗?这是为您准备的 您可以使用适当的模式(例如,如何在Spring中正确地从RabbitMQ获取所有队列消息?,spring,rabbitmq,mqtt,stomp,spring-websocket,Spring,Rabbitmq,Mqtt,Stomp,Spring Websocket,我在应用程序中使用Spring、SpringWebSocket、STOMP和RabbitMQ作为代理。我需要记录所有通过RabbitMQ传递到Postgresql表的消息。 我知道我可以在Spring中编写@MessageMapping并在那里登录,但我的问题是一些客户端直接通过MQTT协议与RabbitMQ通信,Spring还不支持它()。此外,浏览器客户端使用STOMP协议通过Spring与RabbitMQ通信 RabbitMQ允许使用Firehose tracer跟踪所有消息。如何正确收听
publish.#
)将一些自定义队列
绑定到该amq.rabbitmq.trace
),并配置SimpleMessageListenerContainer
以接收来自该队列的消息
即使使用非常简单的配置:
@enablebrabbit
和@RabbitListener
在某些POJO方法上也可以实现。无论如何,绑定
@Bean
必须在那里才能将您的队列附加到该交换。我不明白您需要使用spring。只需配置rabbitmq即可。我需要将DB写入不同的表HMM。。然后,你需要一个应用程序来做这件事。您当然也可以将此消费者放在其他消费者中。rabbitmq中的docu描述得非常好(),看一看,如果您的问题是SpringAMQP是否有这个现成的特性,那么答案是否定的。我不擅长Spring WebSocket代理中继,也不确定它是否能工作,但您可以尝试订阅,如下:/topic/exchange/amq.rabbitmq.trace/publish.#
使用AMQP来监听Rabbit,并在一个应用程序中跺跺代理中继来服务客户机,可以吗?没错!SpringStomp支持只关心应用程序中WebSocket的一部分,但通过SpringAMQP,您可以围绕代理队列和其他队列进行艰苦的工作。