quartz定时任务实例

余生颓废 提交于 2021-02-16 13:04:12

一、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>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!