quartz定时任务实例

Posted panca

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了quartz定时任务实例相关的知识,希望对你有一定的参考价值。

一、spring注解方式

 

<!--&lt;!&ndash;配置文件添加允许Spring注解&ndash;&gt;-->
<!--<task:annotation-driven scheduler="qbScheduler"/>-->
<!--<task:scheduler id="qbScheduler" pool-size="10"/>-->

<!--类-->

import org.springframework.scheduling.annotation.Scheduled

class XXX{

@Scheduled(cron="0 */2 * * * ?") //这里是两分钟触发一次

 public void METHOD(){

//方法要做的事

}

}

二、XML方式

<?xml version="1.0"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="quartzProperties">
<props><!--用于存储内存中的调度信息-->
<prop key="org.quartz.jobStore.class">
org.quartz.simpl.RAMJobStore
</prop>
</props>
</property><!--触发器创建-->
<property name="triggers">
<list>
<ref bean="XXXTrigger"/>
</list>
</property>
</bean>


<!-- 方法名称去执行任务的一个工厂bean -->
<bean id="taskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="XXX" />  //要调用的对象
<property name="targetMethod" value="METHOD" />//要调用的方法
<property name="concurrent" value="false" /><!--多个job不会并发运行,默认是true-->
</bean>

<!-调用对应触发器->
<bean id="XXXTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="taskJob" />//要调度的任务对象BEAN
<property name="cronExpression" value="0 */2 * * * " />//每两分钟执行一次
</bean>

<!--定义调用目标类-->

<bean id="XXX" class="com.xx.xx.xx.task.xxxQuartz"/>
</beans>

 

以上是关于quartz定时任务实例的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot整合Quartz定时任务 的简单实例 2

quartz定时任务实例

Spring定时任务实例

SpringBoot整合Quartz定时任务

集群式Quartz定时任务框架实践

C# 使用 quartz.net 做定时任务