java socket wex5_WeX5集成ActiveMQ+WebSocket实现消息推送

本文介绍了如何在WeX5中集成ActiveMQ和WebSocket实现消息推送。首先,详细讲解了ActiveMQ的下载、安装与测试过程,接着在WeX5中创建应用,并编写Java动作代码实现发送消息功能。此外,还展示了如何通过Stomp.js接收消息,同时提醒注意由于JDK版本问题可能导致的编译错误,并推荐使用高版本浏览器进行开发和测试。
摘要由CSDN通过智能技术生成

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浏览器

zip.gif

本文由WeX5君整理,WeX5一款开源免费的html5开发工具,H5 App开发就用WeX5!

好的,我可以为您简单介绍一下SpringBoot集成ActiveMQ和MQTT实现消息的发送和接收。 首先,您需要在SpringBoot项目中添加ActiveMQ和MQTT的依赖,可以在pom.xml文件中添加如下代码: ```xml <!-- ActiveMQ --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <!-- MQTT --> <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-mqtt</artifactId> <version>5.5.0</version> </dependency> ``` 接下来,您需要在application.properties中配置ActiveMQ和MQTT的连接信息,例如: ```properties # ActiveMQ spring.activemq.broker-url=tcp://localhost:61616 spring.activemq.user=admin spring.activemq.password=admin # MQTT spring.mqtt.username=admin spring.mqtt.password=admin spring.mqtt.url=tcp://localhost:1883 ``` 然后,您可以通过注入JmsTemplate和MqttPahoMessageHandler来实现消息的发送和接收。例如: ```java // ActiveMQ @Autowired private JmsTemplate jmsTemplate; public void sendMessage(String destination, String message) { jmsTemplate.convertAndSend(destination, message); } @JmsListener(destination = "testQueue") public void receiveMessage(String message) { System.out.println("Received message: " + message); } // MQTT @Autowired private MqttPahoMessageHandler mqttHandler; public void sendMessage(String topic, String message) { mqttHandler.setDefaultTopic(topic); mqttHandler.handleMessage(MessageBuilder.withPayload(message).build()); } @MessageEndpoint public class MqttMessageReceiver { @ServiceActivator(inputChannel = "mqttInputChannel") public void receiveMessage(String message) { System.out.println("Received message: " + message); } } ``` 以上代码中,sendMessage方法用于发送消息,receiveMessage方法用于接收消息。使用JmsTemplate可以很方便地发送和接收ActiveMQ消息,使用MqttPahoMessageHandler和MqttMessageReceiver可以很方便地发送和接收MQTT消息。 这就是SpringBoot集成ActiveMQ和MQTT实现消息发送和接收的基本流程,希望对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值