栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot项目中使用quartz创建定时任务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot项目中使用quartz创建定时任务

1、首先引入jar包
  
            org.springframework.boot
            spring-boot-starter-quartz
        
2、创建定时任务执行的逻辑类
import org.springframework.stereotype.Component;



@Component
public class SyncUserJob  {
  //逻辑执行方法
    protected void executeInternal() {
        System.out.println("定时执行+++++++++++++++++++123");
    }
}

```java
在这里插入代码片
3、创建quartz中的工具类
@Configuration
public class QuartzConfig {

   private ApplicationContext applicationContext;
    //创建jobdatil对象
    @Bean
    public MethodInvokingJobDetailFactoryBean testJobDetail(SyncUserJob userJob){
        return createJobDetail(userJob,"executeInternal");
    }
    //创建trigger
    @Bean
    public CronTriggerFactoryBean TestJobTrigger(JobDetail testJobDetail) {
        //CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("0/2 * * * * ?");
   return    createTrigger(testJobDetail,"0/2 * * * * ?");
    }


    //快捷创建jobdatil
    public MethodInvokingJobDetailFactoryBean createJobDetail(Object object, String detailName) {
        MethodInvokingJobDetailFactoryBean jobDetail = new MethodInvokingJobDetailFactoryBean();
        jobDetail.setTargetObject(object);//设置目标对象
        jobDetail.setTargetMethod(detailName);//设置执行方法名称
        jobDetail.setConcurrent(false);//防止并发
        return jobDetail;

    }
    //快捷创建trigger
    public CronTriggerFactoryBean createTrigger(JobDetail jobDetail, String detailName) {
        CronTriggerFactoryBean conTrigger = new CronTriggerFactoryBean();
        conTrigger.setJobDetail(jobDetail);//设置任务详情
        conTrigger.setCronexpression(detailName);//设置时间
        return conTrigger;
    }
//手动执行指定的定时任务中传入jobdatilId为创建jobdatil的方法名称如testJobDetail()方法
    public void  invokeJobDetail(String jobdatilId) throws InvocationTargetException, IllegalAccessException {
        MethodInvoker methodInvoker=    (MethodInvoker)applicationContext.getBean("&"+jobdatilId);
        if (methodInvoker!=null){

            methodInvoker.invoke();
        }


    }
}

4、启动项目会出现以下结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424104.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号