Spring Quartz定时任务设置
这里主要记录一下定时任务的配置,偏向于记录型的一个教程,这里不阐述Quartz的原理。
首先,在Spring配置文件里配置一个自己写好的一个包含执行任务方法的一个类。
<bean id="testQuartzClass" class="com.xxx.test.schedule.testTaskClass" />
然后用Spring自带的任务工厂类org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean新建一个任务,并且将刚才配置任务类配置进去
<bean id="testJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="testQuartzClass" />
<property name="targetMethod" value="execute" />
</bean>
主要是配置一个目标类和目标类里面的目标方法,然后这个任务开始的时候就会自动去执行targetObject里面的targetMethod方法;
接下来再配置一个cronTrigger,里面会设置一个时间表达式和一个任务:
<bean id="cronTriggerTest" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="testJob" />
<property name="cronExpression" value="00 00 15 * * ?" />
</bean>
一个JobDetail和一个CronTrigger合在一起才能算是一个定时任务,我这里设置的是每天下午三点触发,CronTrigger时间表达式规则可以参考这篇文章: http://www.cnblogs.com/xuange306/p/6250740.html
最后配置一个调度器,配置调度器的时候需要一个线程池,把线程池和刚才配置的cronTrigger配置到调度器里去,就大功搞成了
<bean id="quartzTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="10"/>
<property name="maxPoolSize" value="100"/>
<property name="queueCapacity" value="500" />
</bean>
<bean id="quartzScheduler" lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="autoStartup" value="true"/>
<property name="triggers">
<list>
<ref bean="cronTriggerTest" />
</list>
</property>
<property name="taskExecutor" ref="quartzTaskExecutor" />
</bean>
值得一提的是,如果不用Spring配置,直接用Quartz,执行的任务类需要实现org.quartz.Job接口并实现excute方法,然后JobDetail会自动执行excute方法,跟Spring指定目标类的目标方法有些不同。
Spring Quartz定时任务设置的更多相关文章
- Spring quartz定时任务service注入问题
今天想单元测试一下spring中的quartz定时任务,job类的大致结构和下面的SpringQtz1类相似,我的是实现的org.quartz.Job接口,到最后总是发现job类里注入的service ...
- [Spring] - Quartz定时任务 - Annotation
Spring + Quartz可以使用annoation方式: 1.AppJob类: package com.my.quartz.testquartz1; import org.springframe ...
- Spring+Quartz(定时任务)
此处用到的Quartz版本是quartz-2.2.3 官方网站:http://www.opensymphony.com/quartz 首先先介绍用到的几个关键类:scheduler任务调度.Job任务 ...
- Java Spring Quartz 定时任务
公司需要使用JAVA的WebServer完成简单的定时跑任务的工作.其他例如:每隔30分钟执行锁定用户解锁任务. Quartz 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时 ...
- spring quartz定时任务
配置quartz 在spring中需要三个jar包: quartz-1.8.5.jar.commons-collections-3.2.1.jar.commons-logging-1.1.jar 首先 ...
- 一看便知spring+quartz定时任务
这是我经过网上收集然后加上自己的测试写的,以便大家使用 标配:已测 注意需要的包:(在已经配置spring 的情况下) quartz-all-1.6.jar spring-context ...
- spring + Quartz定时任务配置
<bean id="exportBatchFileTask" class="com.ydcn.pts.task.ExportBatchFileTask"& ...
- spring + quartz定时任务,以及修改定时任务
spring4+quartz2.2.3,定时任务弄好了,修改定时任务没折腾起,没找到合适的解决方案. 最终使用库spring-context-support 3.2.17.RELEASE + qua ...
- Quartz 定时任务设置某个时间区间每隔一定时间触发的cron表达式
原文:https://blog.csdn.net/yansong_8686/article/details/46991189 Cron表达式 Quartz使用类似于Linux下的Cron表达式定义时间 ...
随机推荐
- DOM增删改替换
一.在创建元素的时候为什么要把创建元素到也页面写到后面? 要求:创建一个div,在div中创建10个span. var div = document.createElement("div ...
- vue学习笔记(五)条件渲染和列表渲染
前言 在众多的编程语言中,我们的基础语法总是少不了一些专业语法,比如像定义变量,条件语句,for循环,数组,函数等等,vue.js这个优秀的前端框架中也有同样的语法,我们换一个名词,将条件语句改成专业 ...
- java笔试面试第二天
没想到第二次面试到了第二周,也是我在上海找工作的第二周,说实话,没有真本事找工作是真的难,虽然正在召开的十九大上,大大们纷纷表态国力正盛,经济稳步增长,就业压力逐渐缓解,但是社会终究是社会,要么靠实力 ...
- PHP代码安全有必要了解下
攻击者通过构造恶意SQL命令发送到数据库,如果程序未对用户输入的 SQL命令执行判断过滤,那么生成的SQL语句可能会绕过安全性检查,插入其他用于修改后端数据库的语句,并可能执行系统命令,从而对系统造成 ...
- office 2019 激活
office 2019 激活: 1.新建文本文档 激活.txt 2.复制以下内容到 激活.txt 中 @echo off (cd /d >& title Office Acti ...
- nyoj 55-懒省事的小明(priority_queue)
55-懒省事的小明 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:8 submit:62 题目描述: 小明很想吃果子,正好果园果子熟了. ...
- UML:类图关系总结
UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Reali ...
- opencv随笔1
图像处理技术一般包括图像压缩,增强和复原,匹配 描述和l识别 3 个部分. 图像处理一般指数字图像处理 ( Digitallmage Processing). 其中,数字图像是指用工业相机.摄像机.扫 ...
- 彻底搞懂CSS伪类选择器:is、not
本文介绍一下Css伪类:is和:not,并解释一下is.not.matches.any之前的关系 :not The :not() CSS pseudo-class represents element ...
- Spring基于构造函数和设值函数的依赖注入
基于构造函数的依赖注入 我们知道,bean标签中指定的类会进行初始化,这个初始化过程中自然会调用构造函数,那我们也可以利用这个构造函数完成依赖注入. 先创建一个类: public class Text ...