mq-active/src/main/java/com/mobai/MqttRunner.java

49 lines
1.4 KiB
Java

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<List<MqttServerModel>> ips = myClient.getIps();
if (ips.getData()==null){
throw new ServletException("获取初始节点信息失败");
}
System.out.println(ips);
List<MqttServerModel> mqttServerModels = ips.getData();
mqttServerModels.forEach(mqttServerModel -> {
try {
// 监控队列消息
conn.connectMq(mqttServerModel);
} catch (ServletException e) {
throw new RuntimeException(e);
}
});
}
}