【发布时间】:2017-08-19 16:03:51
【问题描述】:
根据line 151 in AmqpWireFormat,ActiveMQ 拒绝与 1.0.0 以外的 AMQP 协议版本的连接。
根据line 411 in Connection,AMQP .NET Lite 发送 0.1.0.0。同时它声称做Full control of AMQP 1.0 protocol behavior。
显然 ActiveMQ 拒绝来自 AMQP .NET Lite 的连接,并显示“来自非 AMQP v1.0 客户端的连接尝试。AMQP,0,1,0,0”。
客户这样做:
Address address = new Address("amqp://localhost:5672");
Connection connection = new Connection(address);
Session session = new Session(connection);
和 ActiveMQ 日志:
2017-03-28 09:11:28,403 | DEBUG | Transport Connection to: tcp://0:0:0:0:0:0:0:1:54352 failed: org.apache.activemq.transport.amqp.AmqpProtocolException: Connection from client using unsupported AMQP attempted | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///0:0:0:0:0:0:0:1:54352@5672
org.apache.activemq.transport.amqp.AmqpProtocolException: Connection from client using unsupported AMQP attempted
at org.apache.activemq.transport.amqp.protocol.AmqpConnection.onAMQPData(AmqpConnection.java:339)[activemq-amqp-5.14.4.jar:5.14.4]
at org.apache.activemq.transport.amqp.AmqpProtocolDiscriminator.onAMQPData(AmqpProtocolDiscriminator.java:96)[activemq-amqp-5.14.4.jar:5.14.4]
at org.apache.activemq.transport.amqp.AmqpTransportFilter.onCommand(AmqpTransportFilter.java:107)[activemq-amqp-5.14.4.jar:5.14.4]
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)[activemq-client-5.14.4.jar:5.14.4]
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)[activemq-client-5.14.4.jar:5.14.4]
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)[activemq-client-5.14.4.jar:5.14.4]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_112]
在命令行上写着:
WARN | Connection attempt from non AMQP v1.0 client. AMQP,0,1,0,0
ActiveMQ 然后中止连接。
ActiveMQ 配置包括:
<transportConnectors>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672" />
</transportConnectors>
这一切在我看来就像 ActiveMQ 需要 1.0.0.0 版本,而 amqpnetlite 发送 0.1.0.0。
从这里到哪里?
【问题讨论】:
-
人们一直在使用 .NET lite 客户端来对抗 ActiveMQ,您需要提供更多信息,因为代码在我看来都是正确的
-
在问题中添加了一些信息...谢谢。