参考文档:

https://docs.spring.io/spring-framework/docs/4.3.13.RELEASE/spring-framework-reference/pdf/spring-framework-reference.pdf

Spring & Quartz 定时任务的两种使用方式

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>

相关文章:

  • 2022-12-23
  • 2021-11-29
  • 2021-09-29
  • 2022-01-04
  • 2021-09-29
  • 2021-08-17
  • 2021-11-27
猜你喜欢
  • 2021-10-14
  • 2021-08-04
  • 2022-01-01
  • 2021-08-14
  • 2021-09-01
  • 2021-05-24
相关资源
相似解决方案