|
本帖最后由 jholy 于 2014-1-14 14:59 编辑
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复制到webapps目录下
2)执行bin/activemq.bat,启动ActiveMQ服务
3)打开http://localhost:8161/demo,运行自带的Web sockets example进行测试
2、在X5中创建应用demo/activeMQ
1)编写用于发送ActiveMQ消息的动作
下载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文件夹中
编写动作代码(动作模型文件参见/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)创建功能process,引用上面的动作,并创建功能页面
功能页面实现两个功能:
发送消息
编辑框+按钮,调用上面的动作实现消息发送- 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 实现的 Stomp 客户端。
页面中用Stomp实现消息接收 - 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开发版自带的是jdk 1.5,需要下载 32位的jdk1.6 替换X5中的jdk
由于jdk版本问题,动作的代码在studio中编译会报错,但是运行时编译运行都是正常的。
请用IE10以上版本或Chrome、Firefox浏览器
X5_DEMO_activeMQ.zip
(12.18 KB, 下载次数: 3445)
|
|