前言
本文介绍MQTT消息队列的简单使用
一、MQTT工具
MQTT的工具有很多,这里选择MQTTX测试: MQTTX客户端
二、使用步骤
1.引入库
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>
2.注入配置信息
mqtt:
host: tcp://127.0.0.1
clientid: admin
username: admin
password: admin
timeout: 10000
keepalive: 60
这里选择自己的配置信息
public class MqttCofigBean {
@Value("${mqtt.username}")
private String username;
@Value("${mqtt.password}")
private String password;
@Value("${mqtt.host}")
private String hostUrl;
@Value("${mqtt.clientid}")
private String clientId;
@Value("${mqtt.timeout}")
private int completionTimeout;
}
3.MQTT消费者
主要功能是初始化连接信息,推送MQTT消息,订阅MQTT主题.
@Slf4j
@Component
public class MqttConsumer implements ApplicationRunner {
private static MqttClient client;
private static MqttTopic mqttTopic;
private static volatile MqttConsumer mqttConsumer = null;
public static MqttConsumer getInstance() {
if (null == mqttConsumer) {
synchronized (MqttConsumer.class) {
if (null == mqttConsumer) {
mqttConsumer = new MqttConsumer();
}
}
}
return mqttConsumer;
}
/**
* MQTT连接属性配置对象
*/
@Autowired
public MqttCofigBean mqttCofigBean;
/**
* 初始化参数配置
*/
@Override
public void