-
-
前言
Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。有关Apollo的搭建问题,参阅上一篇部落格。
-
正文
废话不多言,直接撸代码,先去maven的官网引入mqtt的第三方支持包。
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency>
Demo结构:
![]() |
服务端的代码:
package com.example.demo.mqtt.server;
import com.example.demo.mqtt.PushCallback;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Created by pengcheng.du on 2018/10/12.com.example.demo.mqtt.server.Server
*/
/*服务器端向客户端推送不同的主题*/
public class Server {
public static final String SERVER_URL = "tcp://0.0.0.0:61613";
public static List<String> TOPICList = new ArrayList<>(Arrays.asList("wether","car","topic"));
public static String clientid;
private MqttClient mqttClient;
public MqttTopic mqttTopic1;
private MqttTopic getMqttTopic2;
private String username = "admin";
private String password = "password";
private MqttMessage mqttMessage;
/*//创建新的topic链接的时候使用此构造方法
public Server() throws Exception{
mqttClient = new MqttClient(SERVER_URL, clientid, new MemoryPersistence());
Server server = new Server();
server.mqttMessage = new MqttMe

本文介绍了如何使用Spring Boot与MQTT协议结合,实现消息队列的功能。首先简述了Apache Apollo作为消息代理的角色,然后展示了通过Maven引入MQTT第三方库,并提供了服务端和客户端的代码示例,包括发送断开回调的PushCallback.java。最后,文章总结了MQTT协议的作用以及Apache Apollo在消息推送中的作用,强调服务器作为消息中转站的角色。

最低0.47元/天 解锁文章
1万+





