• Springboot使用Quartz定时任务


    1、在pom.xml文件中配置引入jar包

    <!--配置quartz,定时任务-->
     <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-quartz</artifactId>
      </dependency>

    2、创建CheckDevStatusQuartz类

    import com.well.driving.service.AlarmService;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.scheduling.quartz.QuartzJobBean;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class CheckDevStatusQuartz extends QuartzJobBean {
    
        @Autowired
        private XxxService xxxService;
    
        /**
         * 执行定时任务
         *
         * @param jobExecutionContext
         * @throws JobExecutionException
         */
        @Override
        protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
          //此处为你要运行的任务具体接口 xxxService.checkDeviceStatus(); System.out.println(
    "Check device status" + "=========" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); } }

    3、创建QuartzConfig类

    import com.well.driving.quartz.CheckDevStatusQuartz;
    import org.quartz.*;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    public class QuartzConfig {
        @Bean
        public JobDetail checkDevStatusDetail() {
            return JobBuilder.newJob(CheckDevStatusQuartz.class).withIdentity("checkDevStatusQuartz").storeDurably().build();
        }
    
        @Bean
        public Trigger testQuartzTrigger() {
            SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
                    .withIntervalInSeconds(120)  //设置时间周期单位秒,目前设置为2分钟一次
                    .repeatForever();
            return TriggerBuilder.newTrigger().forJob(checkDevStatusDetail())
                    .withIdentity("checkDevStatusQuartz")
                    .withSchedule(scheduleBuilder)
                    .build();
        }
    }
  • 相关阅读:
    VS注释提示英文变中文的方法
    Windows 10安裝.net Framework 3.5出現0X800F0954錯誤
    NodeJS+NPM+Bower+Android环境安装配置
    复合索引
    高并发的核心技术-幂等的实现方案
    Redis初使用
    数据库SQL查找包含某列的所有table
    多线程中的wait与sleep到底谁释放了锁
    https配置
    iOS下的实际网络连接状态检测(转)
  • 原文地址:https://www.cnblogs.com/shoose/p/12930649.html
Copyright © 2020-2023  润新知