700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Spring配置Quartz 定时执行任务

Spring配置Quartz 定时执行任务

时间:2021-07-21 09:56:19

相关推荐

Spring配置Quartz 定时执行任务

1. 添加maven依赖。pom.xml中添加jar文件

<!-- 作业任务调度机制 --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.1</version></dependency><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz-jobs</artifactId><version>2.2.1</version></dependency>

2.任务交给spring管理。web.xml文件中引入任务调度的配置文件

<context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:/config/applicationContext-shiro.xml,classpath*:/config/applicationContext-quartz.xml</param-value></context-param>

3. 配置任务调度。编写applicationContext-quartz.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc" xmlns:tx="/schema/tx"xmlns:aop="/schema/aop" xmlns:cache="/schema/cache"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd/schema/mvc/schema/mvc/spring-mvc.xsd/schema/tx/schema/tx/spring-tx.xsd/schema/aop/schema/aop/spring-aop.xsd/schema/cache/schema/cache/spring-cache.xsd"><!-- 定时器工作调度的bean --><bean id="myJob" class="com.xx.xxxx.ws.quarter.MyJob" /><!-- job的配置开始 --><bean id="myJobDetail"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><property name="targetObject"><ref bean="myJob" /></property><property name="targetMethod"><value>work</value></property></bean><!-- 调度的配置开始 --><bean id="crontestJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"><property name="jobDetail"><ref bean="myJobDetail" /></property><!-- 任务执行的时间,每周一零点执行一次 --><property name="cronExpression"><value>0 0 0 ? * MON</value></property></bean><!-- 启动触发器的配置开始 --><bean name="startQuertz" lazy-init="false" autowire="no"class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref bean="crontestJobTrigger" /></list></property></bean></beans>

4. 编写任务类。编写定时器类<bean id="myJob" class="com.xx.xxxx.ws.quarter.MyJob" />

public class MyJob {public void work(){System.out.println("work done----------"); }}

4.如何配置quartz(随spring启动)执行一次

<!-- 配置项目启动后任务就执行一次 --> <bean id="rsh_simpleTrigger1" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="myJobDetail" /> <property name="startDelay" value="500" /> <property name="repeatInterval" value="0" /> <property name="repeatCount" value="0" /> </bean>

触发器当中添加配置任务

<!-- 启动触发器的配置开始 --><bean name="startQuertz" lazy-init="false" autowire="no"class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref bean="rsh_simpleTrigger1" /><ref bean="crontestJobTrigger" /></list></property></bean>

5.执行的时间:

0 0 0 ? * MON是指每周一零点执行一次,其他的表达式可以参考这边文章:

/qq_33432559/article/details/75633767

---------------------

作者:qq_2434387555

来源:CSDN

原文:/qq_30930805/article/details/62418732

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。