java怎么拦截某个对象
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~