作为客户端,如何获取 Stomp 队列或/和主题(它们的名称)列表?

Posted

技术标签:

【中文标题】作为客户端,如何获取 Stomp 队列或/和主题(它们的名称)列表?【英文标题】:How to get a list of Stomp queues or/and topics (their names) as a client? 【发布时间】:2016-05-07 00:58:04 【问题描述】:

在 Stomp 中,我如何浏览所有可用的队列或/和主题?有可能吗?

这里的关键是获得结果,语言并不重要,它可以是 python、ruby 或 java,因为我发现由于现有的库,使用它们更容易执行此特定任务。不过,Python 似乎只有一个最受欢迎的库。

【问题讨论】:

【参考方案1】:

嗯,简单的答案是你不能。这不是 Stomp 协议的一部分。

一如既往,复杂的答案是“视情况而定”。完全有可能提供你的 stomp 服务的任何东西都有你可以使用的东西。 (例如,在 RabbitMQ 中,您可以登录 Web 界面并查看当前队列名称。

然而,Stomp 的全部意义(在某种程度上在所有消息传递中)是没有真正的“目标”,只有一个或多个客户端可以读取的队列。队列是短暂的;您可能会发现这些信息很快就被弃用了...

【讨论】:

我的意思是,队列和主题(他们的名字)。是否可以从客户端(消费者)方获取它们两者或其中之一的列表? 我真的不这么认为,因为正如我所说,它不是协议的一部分。但是,也许您作为客户使用的任何库都可以为您带来一些东西? Ruby 'Stomp' gem 没有给你任何你可以使用的东西...... 我想知道,在订阅之前是否必须由客户端(消费者)创建队列或主题?还是在客户端连接和订阅之前它们已经存在于服务器上? 再次取决于服务器实现。我认为 Stomp 协议暗示客户端应该能够即时创建它们。当然,这就是它在 RabbitMQ 中的工作方式。

以上是关于作为客户端,如何获取 Stomp 队列或/和主题(它们的名称)列表?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Rabbitmq STOMP websocket 获取队列大小

用于持久订阅的 stomp 协议常规序列

如何使用Spring-boot处理越来越多的STOMP主题

与 Mule/ActiveMQ 和 C++ Stomp 的客户端通信

连接 stomp 客户端后添加主题/订阅

使用队列的 C# STOMP 消息传递