预建的 AMQP 和 STOMP 客户端(如 GUI 客户端)

Posted

技术标签:

【中文标题】预建的 AMQP 和 STOMP 客户端(如 GUI 客户端)【英文标题】:Pre-built AMQP and STOMP client (as in GUI client) 【发布时间】:2011-03-20 21:01:40 【问题描述】:

我正在寻找一个客户端(如 GUI 客户端,而不是客户端库)来使用我们的 MQ 服务器并熟悉它的语义。只需按下按钮(或文本命令)即可发送和接收消息,甚至可能会更新我有关服务器队列和消息的状态的信息。管理将是一个奖金。 UI 不必是图形的(即命令行客户端也可以)。

服务器可能会运行 RabbitMQ,所以任何特定于 RabbitMQ 的东西都可以,ActiveMQ 也是如此。但我宁愿有一个通用的 AMQP 或 STOMP 工具。

那么,有没有类似的东西存在?

我知道一些管理和监控工具随服务器分发一起提供,但没有客户端,对吧?

【问题讨论】:

【参考方案1】:

RabbitMQ 附带的rabbitmq-management 插件(由rabbitmq-plugins enable rabbitmq_management 启用)有一个基于Web 的界面,它在端口15672 上侦听,可以做你(我曾经)要求的一切。

【讨论】:

【参考方案2】:

用于发送和接收 AMQP 消息的命令行工具(用 C 编写):http://github.com/rmt/amqptools

【讨论】:

【参考方案3】:

查看BQL RabbitMQ 插件。

它为您提供了一种用于 AMQP 的 SQL 风格的语言。例如,

BQL> create exchange myexchange;
ok
BQL> create durable queue 'myqueue'
ok
BQL> select name,messages from queues where 'durable'=true order by name
----------------------
| name    | messages |
----------------------
| myqueue | 0        |

显然,它是 RabbitMQ 特定的。

如果您愿意编写一些代码,可以查看 RabbitMQ Java 和 .NET 客户端中的示例:

Java examples .NET examples

它们不是很形象化,但试图理解它们会迫使你提出正确的问题。

已经有一段时间了,但我记得我认为熟悉 AMQP 的最好方法是阅读 0-9-1 spec 并编写一些简单的程序;特别是,该站点上的协议文档提供了很多示例。

【讨论】:

嗯,还有 Stomp 插件,但我无法评论。 dev.rabbitmq.com/wiki/StompGateway 另外,如果您有任何问题(任何与 AMQP 相关的问题),请在 RabbitMQ 讨论邮件列表上写一行。 lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss 我害怕这个。不过还不错:大约 5 年后我再次开始编写 Java,并且还学习了一些 Ant。我确实会使用 Rabbit 的 Java 库编写我自己的 AMQP 客户端,但同时我会使用 BQL。谢谢。 BQL 原来是我一直在寻找的工具。谢谢! (协议规范我也打印出来了)【参考方案4】:

对于 Apache ActiveMQ,有

http://localhost:8161/admin/ 的 Web 管理控制台

Sourceforge 上的ApacheActiveMQBrowser 项目:

开发的开源项目 基于消息管理 gui 的工具 Apache ActiveMQ。

HermesJMS,在plugin page上没有提到ActiveMQ 5(只有3和4),但是有一个活跃的user forum

【讨论】:

虽然我已经决定使用 RabbitMQ,但我仍然会使用您提到的两个工具来使用 ActiveMQ(我已经了解 Web 界面。)谢谢。

以上是关于预建的 AMQP 和 STOMP 客户端(如 GUI 客户端)的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMQ:Openwire vs AMQP vs Stomp

为啥预建的协议缓冲区不包含任何头文件

Rabbitmq集群

部署Rabbitmq

容器看不到其中预建的供应商文件夹

搭建 RabbitMQ 3.6 单机服务