java socket wex5_WeX5集成ActiveMQ+WebSocket实现消息推送
1 ?首先下載并安裝ActiveMQ
http://www.apache.org/dyn/closer.cgi?path=/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0-bin.zip
1)解壓后,將webapps-demo目錄下的demo復(fù)制到webapps目錄下
2)執(zhí)行bin/activemq.bat,啟動(dòng)ActiveMQ服務(wù)
3)打開(kāi)http://localhost:8161/demo,運(yùn)行自帶的Web sockets example進(jìn)行測(cè)試
2 ?在X5中創(chuàng)建應(yīng)用demo/activeMQ
1)編寫用于發(fā)送ActiveMQ消息的動(dòng)作
下載http://central.maven.org/maven2/org/apache/activemq/activemq-all/5.9.0/activemq-all-5.9.0.jar
放入/BIZ/demo/activeMQ/logic/code/lib文件夾中
編寫動(dòng)作代碼(動(dòng)作模型文件參見(jiàn)/BIZ/demo/activeMQ/logic/action/activeMQ.action.m)
import org.apache.activemq.transport.stomp.StompConnection;
public class ActiveMQ {
public static void activeMQSendMessage(String message) throws Exception {
StompConnection conn = new StompConnection();
try {
conn.open("127.0.0.1", 61613);
conn.connect("guest", "guest");
conn.begin("StompTransaction");
conn.send("/topic/test", message);
conn.commit("StompTransaction");
} finally {
conn.close();
}
}
}
2)創(chuàng)建功能process,引用上面的動(dòng)作,并創(chuàng)建功能頁(yè)面
功能頁(yè)面實(shí)現(xiàn)兩個(gè)功能:
發(fā)送消息
編輯框+按鈕,調(diào)用上面的動(dòng)作實(shí)現(xiàn)消息發(fā)送
mainActivity.btnSendClick = function(event){
if ($("#inputText").val() == "") return;
var params = new justep.Request.ActionParam();
params.setString("message", window.escape($("#inputText").val()));
justep.Request.sendBizRequest2({
"action": "activeMQSendMessage",
"parameters": params,
"callback": function(callbackData) {
callbackData.ignoreError = false;
if (callbackData.state) {
$("#inputText").val("");
}
}
});
};
接收消息
引用ActiveMQ WebSocket案例中自帶的stomp.js,stomp.js 是使用 HTML5 Web Socket API 實(shí)現(xiàn)的 Stomp 客戶端。
頁(yè)面中用Stomp實(shí)現(xiàn)消息接收
mainActivity.model1Load = function(event){
var client = Stomp.client("ws://localhost:61614/stomp");
client.connect("guest", "guest", function(frame) {
client.subscribe("/topic/test", function(msg) {
$("#textReceiver").val(window.unescape(msg.body) + "\n" + $("#textReceiver").val());
});
});
$("#textReceiver").val("Receiving.....\n");
};
注意:ActiveMQ需要jdk 1.6,而X5開(kāi)發(fā)版自帶的是jdk 1.5,需要下載 32位的jdk1.6 替換X5中的jdk
由于jdk版本問(wèn)題,動(dòng)作的代碼在studio中編譯會(huì)報(bào)錯(cuò),但是運(yùn)行時(shí)編譯運(yùn)行都是正常的。
請(qǐng)用IE10以上版本或Chrome、Firefox瀏覽器
本文由WeX5君整理,WeX5一款開(kāi)源免費(fèi)的html5開(kāi)發(fā)工具,H5 App開(kāi)發(fā)就用WeX5!
總結(jié)
以上是生活随笔為你收集整理的java socket wex5_WeX5集成ActiveMQ+WebSocket实现消息推送的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java resources目录 编码_
- 下一篇: java 获取包名类名_获取指定包名下的