无法在 Linux 上发布到 ActiveMQ 上的队列
Cannot publish to Queue on ActiveMQ on Linux
我正在尝试将消息发布到 ubuntu 12.04 上安装的 ActiveMQ 上的队列。
我可以毫无问题地发布到 Windows 上安装的 ActiveMQ,但我无法在 ubuntu 上发布。如果我从控制台创建一条消息,我可以使用它。
当我查看 Wireshark 上的 AMQP 转储时,我看到以下消息:
"Trying to fetch an unsigned integer with length 42".
JDK 1.6
上的客户端和服务器 运行
这是我的代码:
public void addMessage(String text) throws Exception {
TextMessage msg = session.createTextMessage(text);
msg.setStringProperty("odd", "no");
msgProducer.send(msg);
}
private void init() throws Exception {
ConnectionFactoryImpl factory = new ConnectionFactoryImpl(host, port, user, password);
connection = factory.createConnection(user, password);
connection.start();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination dest = new QueueImpl(queue);
msgProducer = session.createProducer(dest);
msgProducer.setDeliveryMode(DeliveryMode.PERSISTENT);
}
通过将我在 Windows (5.10.0) 上的 ActiveMQ 工作版本复制到我的 linux 服务器(安装了 5.10.1 版本)解决了这个问题,并且成功了。我仍然不知道原来的问题是什么...
我正在尝试将消息发布到 ubuntu 12.04 上安装的 ActiveMQ 上的队列。
我可以毫无问题地发布到 Windows 上安装的 ActiveMQ,但我无法在 ubuntu 上发布。如果我从控制台创建一条消息,我可以使用它。
当我查看 Wireshark 上的 AMQP 转储时,我看到以下消息:
"Trying to fetch an unsigned integer with length 42".
JDK 1.6
上的客户端和服务器 运行
这是我的代码:
public void addMessage(String text) throws Exception {
TextMessage msg = session.createTextMessage(text);
msg.setStringProperty("odd", "no");
msgProducer.send(msg);
}
private void init() throws Exception {
ConnectionFactoryImpl factory = new ConnectionFactoryImpl(host, port, user, password);
connection = factory.createConnection(user, password);
connection.start();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination dest = new QueueImpl(queue);
msgProducer = session.createProducer(dest);
msgProducer.setDeliveryMode(DeliveryMode.PERSISTENT);
}
通过将我在 Windows (5.10.0) 上的 ActiveMQ 工作版本复制到我的 linux 服务器(安装了 5.10.1 版本)解决了这个问题,并且成功了。我仍然不知道原来的问题是什么...