Spring+Quartz实现定时调度

首先所需要的JAR为Spring基础的几个JAR还要加上

spring-context-support

然后加上Quartz的JAR

要进行任务调度首先业务要定义一个类实现JOB类,从而达到调用的作用

ApplicationContext.xml中的配置

 1 <bean id="scheduleJobEntity" class="com.ghh.entity.ScheduleJob">
 2         <property name="jobId" value="01"/>
 3         <property name="jobName" value="定时任务1"/>
 4         <property name="jobGroup" value="定时组1"/>
 5         <property name="jobStatus" value="1"/>
 6         <property name="cornExpression" value="0 30 15 18 * ? *"/>
 7         <property name="desc" value="定时开会任务"/>
 8     </bean>
 9 
10     <!--
11         要配置多个定时任务的话
12         定义多个JobDetailFactoryBean和CronTriggerFactoryBean
13         将其最终添加进SchedulerFactoryBean调度器
14     -->
15 
16     <!--配置定时任务-->
17     <bean class="org.springframework.scheduling.quartz.JobDetailFactoryBean" id="jobDetail">
18         <property name="jobClass" value="com.ghh.job.PlanJon"/>
19         <property name="jobDataAsMap">
20             <map>
21                 <entry key="scheduleJob">
22                     <ref bean="scheduleJobEntity"/>
23                 </entry>
24             </map>
25         </property>
26     </bean>
27 
28     <!--配置触发器-->
29     <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean" id="cronTriggerFactoryBean">
30         <property name="cronExpression" value="#{scheduleJobEntity.cornExpression}"/>
31         <property name="jobDetail" ref="jobDetail"/>
32     </bean>
33 
34     <!--配置调度器-->
35     <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" id="schedulerFactoryBean">
36         <property name="triggers">
37             <list>
38                 <ref bean="cronTriggerFactoryBean"/>
39             </list>
40         </property>
41     </bean>

测试调用

1 public class App 
2 {
3     public static void main( String[] args ) throws SchedulerException {
4        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
5         StdScheduler scheduler = (StdScheduler) context.getBean("schedulerFactoryBean");
6         scheduler.start();
7     }
8 }

最后附上cron的时间对应表

 

posted @ 2019-07-18 15:42  演绎、白色舞步  阅读(347)  评论(0编辑  收藏  举报