首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rabbitmq版本协商失败,Qpid 6.0.0

rabbitmq版本协商失败,Qpid 6.0.0
EN

Stack Overflow用户
提问于 2016-02-06 01:01:48
回答 1查看 1.6K关注 0票数 0

我正在运行rabbitmq服务器3.1.5,并试图从Qpid 6.0.0客户机(都在Linux上运行)连接到这个代理。狂犬病经纪人正在使用AMQP0-9-1。当我试图连接从Qpid客户端,它失败的“连接重置”。从Qpid客户端堆栈跟踪(我屏蔽了IP地址的前两个八进制):

代码语言:javascript
复制
Caused by: org.apache.qpid.AMQException: Cannot connect to broker (tcp://xx.yy.224.41:5672): Connection reset [error code 200: reply success]
        at org.apache.qpid.client.AMQConnectionDelegate_0_10.makeBrokerConnection(AMQConnectionDelegate_0_10.java:248)
        at org.apache.qpid.client.AMQConnection.makeBrokerConnection(AMQConnection.java:732)
        at org.apache.qpid.client.AMQConnection.makeConnection(AMQConnection.java:504)
        ... 5 more
Caused by: org.apache.qpid.transport.ConnectionException: Connection reset
        at org.apache.qpid.transport.ConnectionException.rethrow(ConnectionException.java:67)
        at org.apache.qpid.transport.Connection.connect(Connection.java:277)
        at org.apache.qpid.client.AMQConnectionDelegate_0_10.makeBrokerConnection(AMQConnectionDelegate_0_10.java:227)
        ... 7 more

在RabbitMQ代理端,日志文件显示:

代码语言:javascript
复制
=INFO REPORT==== 5-Feb-2016::11:54:13 ===
accepting AMQP connection <0.7834.0> (xx.yy.224.33:37655 -> xx.yy.224.41:5672)

=ERROR REPORT==== 5-Feb-2016::11:54:13 ===
closing AMQP connection <0.7834.0> (xx.yy.224.33:37655 -> xx.yy.224.41:5672):
{bad_version,{1,1,0,10}}

rabbitmq错误消息表明它正在从Qpid客户端拒绝建议的amqp版本1-0-10。

我捕获了尝试会话的tcpdump跟踪,我看到客户端(上面的.33)打开TCP连接,发送带有协议ID 1-1,版本0-10的amqp消息,然后发送另一条带有协议ID 0-0的amqp消息,版本9-1。然而,在1-0-10消息之后,rabbitmq端(.41 )似乎已经放弃了,并且在没有处理0-9-1AMQP消息的情况下重新设置了TCP连接。

代码语言:javascript
复制
4      SYN-SENT       xx.yy.224.33:35770 > xx.yy.224.41:amqp
4      SYN-RECEIVED   xx.yy.224.33:35770 > xx.yy.224.41:amqp
4      ESTABLISHED    xx.yy.224.33:35770 > xx.yy.224.41:amqp
AMQP...  this one is {1,1,0,10}
AMQP..  . this one is {0,0,9,1}
4      RESET          xx.yy.224.33:35770 > xx.yy.224.41:amqp

有什么想法吗?我怎样才能让兔子代理接受{0,0,9,1}版本协商?

EN

回答 1

Stack Overflow用户

发布于 2016-02-06 08:37:30

Rabbimq实现了AMQP0.9.1和qpid客户端1.0。

尝试使用AMQP1.0 RabbitMQ插件。

您可以使用:

代码语言:javascript
复制
rabbitmq-plugins enable rabbitmq_amqp1_0
The following plugins have been enabled:
  rabbitmq_amqp1_0 

在这里读

AMQP1.0客户端的当前字段有点有限。因此,我们并没有达到我们想要的那样多的互操作性。 我们已测试了以下各项: Java 1我们已经在这个客户机上完成了大部分测试,而且事情似乎是可行的。QPid / Proton客户机2我们已经成功地测试了这个客户端附带的“质子”命令行工具。QPid /2我们还不能让这个客户端打开网络连接( 0.2和0.4)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35236067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档