package com.sandu.ximon.admin.localMQTT.client;
|
|
|
import com.sandu.ximon.admin.localMQTT.config.MqttConfig;
|
import com.sandu.ximon.admin.localMQTT.model.MqttClientVO;
|
import lombok.extern.slf4j.Slf4j;
|
import org.eclipse.paho.client.mqttv3.MqttClient;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.PostConstruct;
|
import javax.annotation.Resource;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.concurrent.ConcurrentHashMap;
|
|
/**
|
* @author van
|
* @version 1.0
|
* msg:MQTT客户端创建
|
* @date 2022/11/9 16:31
|
*/
|
@Component
|
@Slf4j
|
public class MqttClientCreate {
|
@Autowired
|
private MqttConfig mqttConfig;
|
|
@Resource
|
private MqttClientManager mqttClientManager;
|
|
/**
|
* 存储MQTT客户端
|
*/
|
public static final Map<String, MqttClient> MQTT_CLIENT_MAP = new ConcurrentHashMap<>();
|
|
/**
|
* 创建MQTT客户端
|
*/
|
@PostConstruct
|
public void createMqttClient() {
|
System.out.println("createMqttClient");
|
List<MqttClientVO> mqttClientList = mqttConfig.getClientList();
|
|
for (MqttClientVO mqttClient : mqttClientList) {
|
//创建客户端,客户端ID:demo,回调类跟客户端ID一致
|
System.out.println(mqttClient.getClientId());
|
mqttClientManager.createMqttClient(mqttClient.getClientId(), mqttClient.getSubscribeTopic(), mqttClient.getUserName(), mqttClient.getPassword());
|
}
|
}
|
}
|