zoukankan      html  css  js  c++  java
  • springboot实现定时任务的两种方式

     方式一:在springboot启动类上添加@EnableScheduling注解,然后创建具体的任务类,在方法上添加@Scheduled注解,并指明执行频率即可。如下:

    @Component
    public class TestJob {

    private final Logger logger = LoggerFactory.getLogger(TestJob.class);

    @Scheduled(cron = "*/3 * * * * *")
    public void testJob() {
    logger.info("Job Test...");
    }
    }

    方式二:创建一个继承了QuartzJobBean的任务类,同时创建quarz配置类,以向spring容器中注入JobDetail和Trigger。如下:
    public class Test2Job extends QuartzJobBean {

    private final Logger logger = LoggerFactory.getLogger(Test2Job.class);
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
    logger.info("Test2 Job...");
    }
    }
    @Configuration
    public class ScheculerConfiguration {

    @Bean
    public JobDetail jobDetail() {
    return JobBuilder.newJob(Test2Job.class)
    .withIdentity("test2Job")
    .storeDurably()
    .build();
    }

    @Bean
    public Trigger jobTrigger() {
    ScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
    .withIntervalInMilliseconds(3)
    .repeatForever();
    return TriggerBuilder.newTrigger()
    .withIdentity("test2JobTrigger")
    .forJob(jobDetail())
    .withSchedule(scheduleBuilder)
    .build();
    }
    }
  • 相关阅读:
    php hook example
    sql 建立数据库,表格,索引,主键
    js 高级函数 之示例
    js 事件
    DOM 操作内容 innerText/innerHTML
    DOM 之 document 查找元素方法
    BOM 之 screen history
    Hadoop源码篇--Client源码
    Spark算子篇 --Spark算子之combineByKey详解
    Pandas库的使用--Series
  • 原文地址:https://www.cnblogs.com/gujianzhe/p/10053512.html
Copyright © 2011-2022 走看看