1、基于@Scheduled可配置开发
application.propertites:read.timer.parmas=0 0/1 * * * * 定时类:@Componentpublic class ScheduledService {Logger logger= LoggerFactory.getLogger(ScheduledService.class); @Scheduled(cron = "${read.timer.parmas}") public void readConfigTable(){ logger.info("*****.read.timer.parmas"); }}启动类:@SpringBootApplication@EnableScheduling //必须public class DataApplication { public static void main(String[] args) { SpringApplication.run(DataApplication.class,args); }} 2、基于代码实现
语言 方法
6484 24fHHmL5IE
SxDRB
在家创业7738 2005/01/22 23:48:12
(1)核心代码@Component@EnableSchedulingpublic class TestScheduledParams implements SchedulingConfigurer{ Logger logger= LoggerFactory.getLogger(TestScheduledParams.class); public static String DEFAULT_CORN="0/3 * * * * *"; //##动态传参要给默认值。 public static String corn=DEFAULT_CORN; @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.addTriggerTask(new Runnable() { @Override public void run() { // logger.info("定时任务逻辑"); } }, new Trigger() { @Override public Date nextExecutionTime(TriggerContext triggerContext) { //任务触发,可修改任务的执行周期 CronTrigger cronTrigger = new CronTrigger(corn); Date date = cronTrigger.nextExecutionTime(triggerContext); return date; } }); }}(2)其他类或方法动态传参赋值TestScheduledParams.corn="0/20 * * * * *"
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。