주제와 대기열에 activeMQ 5.9.1을 사용하는 Java Swing 응용 프로그램이 있습니다.MQTT (paho) + activeMQ를 사용하여 메시지를받는 올바른 방법은 무엇입니까?
내 스윙 어플 리케이션을 웹으로 마이그레이션하는 것이므로 activeMQ + MQTT (파호) 자바 스크립트 라이브러리를 사용하여 몇 가지 증명을하고 있습니다. - 몇 가지 주제를 청취
<transportConnector name="mqtt+ws" uri="ws://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600&transport.defaultKeepAlive=30000"/>
내가 MQTT (http://eclipse.org/paho/clients/js/ PAHO)와 몇 가지 예제를 구현 한 :
나는 activemq.xml의 것을 사용할 수있다. 주제에
function ramdomID(length) {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
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);
}
응답은 정확하게 수신되지만, 복구 된 메시지는 자바 문자열 객체 참조 :
onMessageArrived: ﭭsr<com.my.project.bp.jms.MyImplementedMessageLmessagetLjava/lang/String;Ltypeq~xppt KeepAlivey
누구나 자바 응용 프로그램에 쓴다면 친절한 메시지를받을 수있는 올바른 방법을 알고있다 activeMQ 주제를 직접?
응답 해 주셔서 감사합니다. 하지만 웹 소켓을 통해 MQTT를 사용하고 있습니다. 내 오류를 발견 : 서버 측에서, 나는 JMS를 사용하는 몇 가지 기능을 가지고 있으며 그들은 주제를 작성하기 위해 javax.jms.ObjectMessage 객체를 사용하고있었습니다. 이 객체를 javax.jms.TextMessage로 변경하고 JSON에서 메시지를 설정하면 모두 정상적으로 작동합니다! –