1.导入jar包

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<!-- spring集成quartz需要的jar包 需要spring上下文的支持 以及spring事务的支持 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>

2.创建我们的job执行我们的任务

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class FirstScheduledJob extends QuartzJobBean{
//这个是需要用到的自定义参数
private AnotherBean anotherBean;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
// TODO Auto-generated method stub
System.out.println("66666666666666666666");
anotherBean.printHello();
}

public void setAnotherBean(AnotherBean anotherBean) {
this.anotherBean = anotherBean;
}

}

3.在*-servlet.xml中配置Quartz的 jobDetail,trigger,Scheduled三个组件

<!-- spring集成quartz -->
<!-- 创建jobDetail -->
<bean id="firstComplexJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<!-- 我们自定义的job -->
<property name="jobClass" value="cn.gc.jobdetail.FirstScheduledJob"/>
<!-- 自定义job中传入的自定义参数 -->
<property name="jobDataMap">
<map>
<entry key="anotherBean" value-ref="anotherBean"></entry>
</map>
</property>
<property name="durability" value="true"></property>
</bean>
<!-- 创建tragger 定义没5秒钟执行一次 -->
<bean id="myTragger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="firstComplexJobDetail"></property>
<property name="cronExpression" value="0/5 * * ? * *"></property>
</bean>
<bean id="myScheduled" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="firstComplexJobDetail"/>
</list>
</property>
<property name="triggers">
<list>
<ref bean="myTragger"/>
</list>
</property>
</bean>

posted on 2018-03-26 21:08  Superb1995  阅读(138)  评论(0编辑  收藏  举报