RabbitMQ - 通过 AMQP 上的 STOMP 访问 /queue 或 /topic
RabbitMQ - Access /queue or /topic created via STOMP over AMQP
我有一个场景,其中客户端 post 消息通过 STOMP 发送到 RabbitMQ /queue
或 /topic
目的地。
另一方面,我有一个服务器进程,它通过 AMQP 连接到 RabbitMQ。是否可以从 AMQP 访问 "STOMP-channels" 或将它们隔离到自己的名称 space 中?
看起来可以通过 /amq/queue/
从 STOMP 访问 AMQP 通道,但我没有找到另一个方向的案例。
我通过使用 Rabbit 网络管理员找到了答案,并仔细研究了 Spring-Stomp over Websocket 实现在后台的实际作用。
/topic
命名空间是通过为每个连接的 stomp 客户端注册一个自动删除队列来实现的,该客户端在 amq.topic
交换器上使用主题名称的路由键。因此,要从非 Stomp 客户端收听这些消息,您必须执行相同的操作。
/queue
命名空间是通过创建(持久)队列并注册从默认空“”交换到队列的绑定来实现的。要使用消息,您可以直接使用队列 - 要将消息发送到队列,您可以将消息发送到空交换器,并将路由键设置为队列名称。
我有一个场景,其中客户端 post 消息通过 STOMP 发送到 RabbitMQ /queue
或 /topic
目的地。
另一方面,我有一个服务器进程,它通过 AMQP 连接到 RabbitMQ。是否可以从 AMQP 访问 "STOMP-channels" 或将它们隔离到自己的名称 space 中?
看起来可以通过 /amq/queue/
从 STOMP 访问 AMQP 通道,但我没有找到另一个方向的案例。
我通过使用 Rabbit 网络管理员找到了答案,并仔细研究了 Spring-Stomp over Websocket 实现在后台的实际作用。
/topic
命名空间是通过为每个连接的 stomp 客户端注册一个自动删除队列来实现的,该客户端在 amq.topic
交换器上使用主题名称的路由键。因此,要从非 Stomp 客户端收听这些消息,您必须执行相同的操作。
/queue
命名空间是通过创建(持久)队列并注册从默认空“”交换到队列的绑定来实现的。要使用消息,您可以直接使用队列 - 要将消息发送到队列,您可以将消息发送到空交换器,并将路由键设置为队列名称。