elkers
2025-04-07 2dba8dbb14af4616eec876fd9af744651e8beeda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.nanjing.water.host.mqtt;
 
import com.nanjing.water.common.config.MqttConfig;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
 
@Component
@Order(20)
public class MQTTConnect {
    @Autowired
    private MqttConfig mqttConfig;
 
    //生成配置对象,用户名,密码等
    public MqttConnectOptions getOptions() {
        MqttConnectOptions options = new MqttConnectOptions();
        options.setCleanSession(false);
        options.setUserName(mqttConfig.getUser());
        options.setPassword(mqttConfig.getPassword().toCharArray());
        options.setConnectionTimeout(mqttConfig.getConnectionTimeout());
        //设置心跳
        options.setKeepAliveInterval(mqttConfig.getKeepAliveInterval());
        return options;
    }
 
    public MqttConnectOptions getOptions(MqttConnectOptions options) {
        options.setCleanSession(false);
        options.setUserName(mqttConfig.getUser());
        options.setPassword(mqttConfig.getPassword().toCharArray());
        options.setConnectionTimeout(mqttConfig.getConnectionTimeout());
        //设置心跳
        options.setKeepAliveInterval(mqttConfig.getKeepAliveInterval());
        return options;
    }
}