使用 erlang RabbitMQ 客户端连接到 ActiveMQ

Posted

技术标签:

【中文标题】使用 erlang RabbitMQ 客户端连接到 ActiveMQ【英文标题】:Connect to ActiveMQ using erlang RabbitMQ client 【发布时间】:2015-11-17 22:56:27 【问题描述】:

我正在尝试使用 RabbitMQ erlang 客户端连接到 ActiveMQ 服务器。

URI = "amqp://server:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600",
ok,ConnParams = amqp_uri:parse(URI),
amqp_connection:start(ConnParams).

并收到错误消息:

error,socket_closed_unexpectedly,'connection.start'

根据ActiveMQ文档,支持AMQP协议版本1.0。

RabbitMQ AMQP 协议版本为 0.9

有什么方法可以从 RabbitMQ erlang 客户端建立到 ActiveMQ 的连接?

【问题讨论】:

【参考方案1】:

不,ActiveMQ 只理解 AMQP v1.0,因为它是 OASIS 标准,不支持早期的 AMQP 版本。您可以使用 STOMP、AMQP、MQTT 或本机 OpenWire 客户端与 ActiveMQ 对话,因此您有很多选择。

【讨论】:

以上是关于使用 erlang RabbitMQ 客户端连接到 ActiveMQ的主要内容,如果未能解决你的问题,请参考以下文章

Erlang:连接到服务器,并在同一个套接字上接收输入

主机 myhost 的 epmd 错误:Windows 10 上的地址(无法连接到主机/端口)

从 Qpid JMS 客户端启用 AMQP 1.0 插件连接到 RabbitMQ 3.7.18 时出现错误匹配错误

如何连接到已注册的节点(Erlang)并从另一个 erlang 应用程序中使用它

如何连接到已注册的节点(Erlang)并从 Ejabberd 使用它

如何将 Cowboy (Erlang) websocket 连接到 webflow.io 生成的网页