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的时间对应表