使用golang连接到Active MQ

问题描述 投票:1回答:2

亚马逊MQ(Active MQ)说它适用于amqp,并且这里有一个go包https://github.com/streadway/amqp但是当我尝试拨号()时出现此错误

Exception (501) Reason: "Exception (501) Reason: \"frame could not be parsed\""

我怀疑这是因为虽然这是一个amqp包,而且Amazon MQ接受amqp,但这特别是一个RabbitMQ amqp包...这有意义吗?

另一种选择是STOMP,我试过使用这里的例子https://github.com/go-stomp/stomp/blob/master/examples/client_test/main.go但是Dial()给了我这个超级没有用的错误:“无效命令”

询问如何连接令人尴尬,但这就是我被困住的地方。提前致谢

amazon-web-services activemq amqp stomp
2个回答
2
投票

AMQP 0.x(RabbitMQ)是与AMQP 1.0(ActiveMQ等)非常不同的协议。 AMQP 1.0不向后兼容。

您需要一个支持AMQP 1.0的客户端库。

我没有测试过,但是这个lib声称可以工作。 https://github.com/vcabbage/amqp


1
投票

您需要一个AMQP 1.0客户端库。 Apache的Qpid项目为AMQP 1.0维护了几种不同的语言绑定,其中一种是Go客户端,并记录了here和一些here示例。

对于STOMP尝试,可能是您没有尝试连接到代理上的正确端口,这可能导致客户端给您错误。 STOMP端口通常为61613,AMQP为5672。

© www.soinside.com 2019 - 2024. All rights reserved.