quartz定时任务实例

一、spring注解方式 <!--&lt;!&ndash;配置文件添加允许Spring注解&ndash;&gt;--> <!--<task:annotation-driven scheduler="qbScheduler"/>--> <!--&l...

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

 

  • 发表于 2019-04-16 16:00
  • 阅读 ( 6 )
  • 分类:网络文章

条评论

请先 登录 后评论
不写代码的码农
小编

篇文章

作家榜 »

  1. 小编 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除