4

我正在尝试使用 ActiveMQ 将 JMS 消息发送到使用 HornetQ 的服务器,并且遇到了一些困难。我认为这是一件完全合理的事情,所以我怀疑我的结果存在某种(可能是微不足道的)操作员错误。有什么可以在这里发现或我应该看看的东西吗?尝试创建会话时发生错误:

最后,我正在执行以下操作:

 final ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, serverUrl);
 connection = connectionFactory.createQueueConnection();
 session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

在服务器端,他们看到以下内容:

11:53:06,428 ERROR [org.hornetq.core.protocol.core.impl.RemotingConnectionImpl] (Old I/O server worker (parentId: 1778858866, [id: 0x6a073b72, -hostname-])) 
Failed to decode: java.lang.IllegalArgumentException: Invalid type: 1
at org.hornetq.core.protocol.core.impl.PacketDecoder.decode(PacketDecoder.java:550) [hornetq-core-2.2.13.Final.jar:]
....
4

1 回答 1

3

您不能使用 ActiveMQ 库与 HornetQ 对话。每个都有自己的协议,您需要适当的库才能进行交谈,这是双向的。您不能使用 HornetQ 库与 ActiveMQ 对话。

您可以使用 stomp 与 HornetQ 对话,这是 HornetQ 和 ActiveMQ 之间的通用库。

于 2013-04-03T16:34:03.803 回答