我有一个 Java Swing 应用程序,它使用带有主题和队列的 activeMQ 5.9.1。
现在,我的意图是将那个摇摆应用程序迁移到 Web,所以我正在使用 activeMQ + MQTT (paho) javascript 库进行一些证明。
我在 activemq.xml 中启用了它:
<transportConnector name="mqtt+ws" uri="ws://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600&transport.defaultKeepAlive=30000"/>
我已经使用 MQTT (paho - http://eclipse.org/paho/clients/js/ ) 实现了一些示例来收听一些主题。
function ramdomID(length) {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for(var i=0; i<length; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text;
}
var client = new Messaging.Client('192.168.240.17', 1883, ramdomID(20));
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;
client.connect({onSuccess:onConnect});
function onConnect() {
console.log("onConnect");
client.subscribe("/KeepAlive");
}
function onConnectionLost(responseObject) {
if (responseObject.errorCode !== 0) {
console.log("onConnectionLost: "+responseObject.errorMessage);
}
}
function onMessageArrived(message) {
console.log("onMessageArrived: "+message.payloadString);
}
正确接收到对主题的响应,但恢复的消息是 Java 字符串对象引用:
onMessageArrived: ﭭsr<com.my.project.bp.jms.MyImplementedMessageLmessagetLjava/lang/String;Ltypeq~xppt KeepAlivey
如果java应用程序直接写在activeMQ主题上,任何人都知道接收友好消息的正确方法吗?