package com.mobai; import com.mobai.domian.MqttServerModel; import com.mobai.domian.Result; import com.mobai.remote.MyClient; import com.mobai.util.ConnectMqtt; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import javax.servlet.ServletException; import java.util.List; /** * @ClassName MqttRunner * @Description 描述 * @Author Mobai * @Date 2024/6/5 19:09 */ @Component public class MqttRunner implements ApplicationRunner { @Autowired private MyClient myClient; @Autowired private ConnectMqtt conn; @Override public void run(ApplicationArguments args) throws Exception { // 获取初始服务器配置 IP + topic Result> ips = myClient.getIps(); if (ips.getData()==null){ throw new ServletException("获取初始节点信息失败"); } System.out.println(ips); List mqttServerModels = ips.getData(); mqttServerModels.forEach(mqttServerModel -> { try { // 监控队列消息 conn.connectMq(mqttServerModel); } catch (ServletException e) { throw new RuntimeException(e); } }); } }