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 MQTT_CLIENT_MAP = new ConcurrentHashMap<>(); /** * 创建MQTT客户端 */ @PostConstruct public void createMqttClient() { System.out.println("createMqttClient"); List 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()); } } }