【问题标题】:How is the correct way to receive messages using MQTT (paho) + activeMQ?使用 MQTT (paho) + activeMQ 接收消息的正确方法是什么?
【发布时间】:2014-08-13 04:57:24
【问题描述】:

我有一个 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&amp;wireFormat.maxFrameSize=104857600&amp;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 String 对象引用:

onMessageArrived: ﭭsr<com.my.project.bp.jms.MyImplementedMessageLmessagetLjava/lang/String;Ltypeq~xppt  KeepAlivey 

如果Java应用程序直接写在activeMQ主题上,任何人都知道接收友好消息的正确方法吗?

【问题讨论】:

    标签: java javascript activemq mqtt paho


    【解决方案1】:

    如果您想从 ActiveMQ 转到浏览器,请查看仅在 ActiveMQ 中启用 Websockets 并使用 STOMP over Websockets javascript 库。消息的正文将是一个友好的文本对象。链接在我的回答中:Best way to display dynamic data in a webpage

    【讨论】:

    • 感谢您的回复。但我在 Websockets 上使用 MQTT。我发现了我的错误:在服务器端,我有一些使用 JMS 的函数,它们使用 javax.jms.ObjectMessage 对象来编写主题。将该对象更改为 javax.jms.TextMessage 并在 JSON 中设置消息都可以正常工作!
    猜你喜欢
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 2018-09-08
    • 2014-11-07
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多