package com.xd.monitor.controller;
import com.xd.monitor.entity.Equipment;
import com.xd.monitor.service.EquipmentService;
import com.xd.monitor.service.PingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
@Order(value = 1)//设置优先权 值越小权越大
public class MyApplicationRunner implements ApplicationRunner {
@Autowired
private PingService pingService;
@Autowired
private EquipmentService equipmentService;
@Override
public void run(ApplicationArguments var1) throws Exception{
while (true){ //服务开启期间,不断循环
pingIp();
Thread.currentThread().sleep(1000);//暂停一秒,避免并发问题
}
}
//ping IP
public void pingIp(){
List equipment = equipmentService.getEquipmentIp();
for (Equipment equipment1 : equipment) {
pingService.ping(equipment1.getIp_address(), equipment1.getEq_id());
}
}
}