参考文档:
https://docs.spring.io/spring-framework/docs/4.3.13.RELEASE/spring-framework-reference/pdf/spring-framework-reference.pdf
Quartz uses Trigger, Job and JobDetail objects to realize scheduling of all kinds of jobs.
定义job有两种方式、定义jobdetail有两种方式、定义trigger有两种方式。。。
一、方式一
1、定义TestJob类继承QuartzJobBean
2、spring中配置JobDetail
<bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="jobClass" value="com.cbh.task.TestJob"/> <property name="durability" value="true"/> </bean>
3、spring中配置Trigger
a、
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="jobDetail"/> <property name="startDelay" value="3000"/> <property name="repeatInterval" value="1000"/>
</bean>
b、
<bean id="testJob2Trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="testJob2Detail"/> <property name="cronExpression" value="0/1 * * * * ?"/> </bean>
4、spring中配置Scheduler
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="simpleTrigger"/> <ref bean="testJob2Trigger"/> </list> </property> </bean>
二、方式二
1、定义TestJob2类(普通Java类)并定义一个具体要执行的方法
2、spring中配置JobDetail
<bean id="testJob2" class="com.cbh.task.TestJob2"/>
<bean id="testJob2Detail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="testJob2"/> <property name="targetMethod" value="job"/> </bean>
3、spring中配置Trigger
a、
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="jobDetail"/> <property name="startDelay" value="3000"/> <property name="repeatInterval" value="1000"/>
</bean>
b、
<bean id="testJob2Trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="testJob2Detail"/> <property name="cronExpression" value="0/1 * * * * ?"/> </bean>
4、spring中配置Scheduler
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="simpleTrigger"/> <ref bean="testJob2Trigger"/> </list> </property> </bean>