1

トピックとキューで activeMQ 5.9.1 を使用する Java Swing アプリケーションがあります。

今、私の意図は、そのスイング アプリケーションを 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トピックに直接書き込む場合、フレンドリーなメッセージを受け取る正しい方法を知っている人はいますか?

4

1 に答える 1

0

ActiveMQ からブラウザーに移行する場合は、ActiveMQ 内で Websockets のみを有効にし、STOMP over Websockets JavaScript ライブラリーを使用する方法をご覧ください。メッセージの本文はわかりやすいテキスト オブジェクトになります。リンクは私の答えです: ウェブページに動的データを表示する最良の方法

于 2014-06-24T18:31:58.317 に答える