【问题标题】:How to Listen to Rabbit MQ queues with different names in java spring?java - 如何在java spring中收听具有不同名称的Rabbitmq队列?
【发布时间】:2021-01-01 13:54:37
【问题描述】:

我有一个聊天应用程序,它将为每个在线用户创建一个队列,我正在尝试获取该用户的所有排队消息,问题是我只通过消息知道队列的名称通过,因此我不能使用@RabbitListener 给它一个队列名称。 除了使用rabbitTemplate之外,有没有什么方法可以让用户的所有消息排队 转变 ?因为它只给了我一个消息而不是所有消息

【问题讨论】:

    标签: java spring spring-boot rabbitmq spring-amqp


    【解决方案1】:

    我会说最好研究一个 STOMP over WebSocket 协议,它作为 RabbitMQ 上的插件被支持。它确实为每个用户创建了一个单独的队列,并且有一种机制可以消耗发送给该用户的所有消息。

    查看 Spring Framework 中的 WebSocket 支持:https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#websocket

    如果您不能这样做,您可能应该研究一个自定义解决方案,将队列名称发送到某个静态交换,让消费者知道这样一个新队列,您可以将其添加到ListenerContainer at运行时(稍后分别删除)。在 Spring AMQP 中查看更多信息:https://docs.spring.io/spring-amqp/docs/current/reference/html/#listener-queues

    【讨论】:

      猜你喜欢
      • 2022-07-12
      • 1970-01-01
      • 2015-02-22
      • 2020-06-13
      • 2018-10-27
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 2018-09-26
      相关资源
      最近更新 更多