Spring中使用quartz执行定时任务的两种方式

网友投稿 550 2022-09-26

Spring中使用quartz执行定时任务的两种方式

一, 继承spring封装Quartz类(org.springframework.scheduling.quartz.QuartzJobBean)方式,其实QuartzJobBean类实现了quartz的Job接口

(直接使用quartz时,每一个自定义的定时任务job类都要实现job接口)

spring-mvc-quartz2.xml:

   

package com.yueguang.schedule;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.QuartzJobBean;

public class Job2 extends QuartzJobBean {

private Job2Service job2Service;

@Override

protected void executeInternal(JobExecutionContext jobexecutioncontext)

throws JobExecutionException {

job2Service.test();

}

public void setJob2Service(Job2Service job2Service) {

this.job2Service = job2Service;

}

}

二,利用spring MethodInvokingJobDetailFactoryBean类,不需要继承. spring-mvc-quartz1.xml                                                                                                                                                         

public class Job1 {    private Job1Service job1Service;   public void execute() {

system.out.println("---test----");

}}

注:

1、在第一种方式中,不能在jobbean中直接以注解的方式注入spring bean组件,必须在jobDetail的属性jobDataAsMap中配置要注入的bean组件,同时需要在该jobbean中写好对应的setter.

2、在实际开发中,第二种方式很方便,特别是在使用注解的情况下。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:双机热备和rac的区别
下一篇:文案来啦:奶茶文案|秋天里的第一杯奶茶你喝到了吗!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~