基于SpringBoot实现MQTT消息收发

基于SpringBoot实现MQTT消息收发

  • 实验环境

SpringBoot 2.2.2.RELEASE: 项目框架
EMQX community latest: MQTT 服务端
Docker 18.0.~: 部署容器

  • POM引入依赖包
#pom.xml
<dependency>
  <groupId>org.springframework.bootgroupId>
  <artifactId>spring-boot-starter-integrationartifactId>
  <version>2.2.2.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframework.integrationgroupId>
  <artifactId>spring-integration-mqttartifactId>
  <version>5.2.3.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframework.integrationgroupId>
  <artifactId>spring-integration-streamartifactId>
  <version>5.2.3.RELEASEversion>
dependency>
  • Mqtt配置代码及YAML配置
@Data
@Component
@ConfigurationProperties(prefix = "mqtt")
public class MqttConfiguration {
   
    private int keepAliveInterval;
    private int connectionTimeout;
    private String userName;
    private String userPassword;
    private List<String> uris;
    private List<String> topics;
    private int qos;


    public MqttConnectOptions connectionOptions() {
   
        MqttConnectOptions options = new MqttConnectOptions();
        options.setServerURIs(getUris().toArray(new String[0]));
        options.setPassword(getUserPassword().toCharArray());
        options.

你可能感兴趣的:(SpringBoot,spring,boot,spring,java,中间件,iot)