1:定时任务引用service工具类
package com.microservice.engineering.tasks;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class ApplicationContextUtil implements ApplicationContextAware {
@Autowired
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
}
public static ApplicationContext getApplicationContext() {
return context;
}
public static Object getBean(String name) {
return getApplicationContext().getBean(name);
}
}
2:service层业务处理
3:定时任务处理
package com.microservice.engineering.tasks;
import com.microservice.engineering.service.consumptionModbus.ConsumptionModbusDataService;
import org.springframework.context.annotation.DependsOn;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
@EnableScheduling
@DependsOn("consumptionModbusDataService")
@Lazy(false)
public class ModbusTasks {
private ConsumptionModbusDataService consumptionModbusDataService = (ConsumptionModbusDataService)ApplicationContextUtil.getBean("consumptionModbusDataService");
@Scheduled(fixedDelay = 7200000)
public void modbusTasks() {
consumptionModbusDataService.insertModbusData();
}
}