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; } }