news 2026/6/19 0:54:21

Spring+Quartz实现定时任务的配置方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring+Quartz实现定时任务的配置方法
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- Scheduler配置 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="teachingProcessTrigger" /> </list> </property> <property name="quartzProperties"> <props> <prop key="org.quartz.threadPool.threadCount">3</prop> </props> </property> </bean> <!-- Trigger配置 --> <bean id="teachingProcessTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="teachingProcess" /> </property> <property name="cronExpression"> <!-- 每天凌晨0点执行一次 --> <value>0 0 0 * * ?</value> </property> </bean> <!-- JobDetail配置 --> <bean id="teachingProcess" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <!-- hrQuartzServiceImpl是一个业务类,在其他地方声明了bean,这里直接引用就可以 --> <ref bean="hrQuartzServiceImpl" /> </property> <property name="targetMethod"> <!-- hrQuartzServiceImpl类里作为执行入口的方法名 --> <value>doTeachingProcess</value> </property> </bean> </beans>

任务有并行和串行之分,并行是指:一个定时任务,当执行时间到了的时候,立刻执行此任务,不管当前这个任务是否在执行中;串行是指:一个定时任务,当执行时间到了的时候,需要等待当前任务执行完毕,再去执行下一个任务。
quartz框架中可以设置是否允许任务并行:
如果是通过MethodInvokingJobDetailFactoryBean在运行中动态生成的Job,配置的xml文件有个concurrent属性,这个属性的功能是配置此job是否可以并行运行,如果为false则表示不可以并行运行,否则可以并行。如果一个job的业务处理发费的时间超过了job的启动的间隔时间(repeatInterval),这个属性非常有用。如果为false,那么,在这种情况下,当前job还在运行,那么下一个job只能延时运行。如果为true,那么job就会并行运行,配置示例如下:

<bean id="jobCompareB2cAndLocal" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject " ref="delegateJob " /> <property name="targetMethod " value="方法名" /> <property name="concurrent " value="false " /> </bean >

如果不配置,默认是true的,就是允许并行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 2:53:19

PDF-Extract-Kit性能测试:处理1000页PDF的实战报告

PDF-Extract-Kit性能测试&#xff1a;处理1000页PDF的实战报告 1. 背景与测试目标 1.1 PDF智能提取的技术挑战 在科研、教育和出版领域&#xff0c;大量非结构化文档以PDF格式存在。传统方法依赖人工摘录或基础OCR工具&#xff0c;难以应对复杂版式中的表格、公式、图文混排…

作者头像 李华
网站建设 2026/6/16 15:09:18

BRAM在图像处理缓存中的实现:完整示例解析

BRAM在图像处理缓存中的实战设计&#xff1a;从原理到可综合代码你有没有遇到过这样的问题——明明FPGA的逻辑资源还很充裕&#xff0c;但图像处理流水线却频频卡顿&#xff1f;像素流断了、卷积核等数据、边缘检测结果延迟飙升……最终发现&#xff0c;瓶颈不在算法&#xff0…

作者头像 李华
网站建设 2026/6/19 20:35:19

腾讯混元翻译1.5:少数民族语言支持实战

腾讯混元翻译1.5&#xff1a;少数民族语言支持实战 随着全球化与多语言交流的不断深化&#xff0c;高质量、低延迟的机器翻译需求日益增长。尤其在民族地区和跨文化场景中&#xff0c;对小语种与方言变体的支持成为技术落地的关键瓶颈。腾讯近期开源的混元翻译大模型 HY-MT1.5…

作者头像 李华
网站建设 2026/6/16 1:17:17

PDF智能提取工具箱实战:手写公式转LaTeX完整步骤

PDF智能提取工具箱实战&#xff1a;手写公式转LaTeX完整步骤 1. 引言&#xff1a;从扫描文档到结构化数据的智能化跃迁 在科研、教学和工程实践中&#xff0c;PDF文档中常包含大量手写或印刷体数学公式、表格和文本内容。传统方式下&#xff0c;将这些非结构化信息转化为可编…

作者头像 李华
网站建设 2026/6/15 23:45:42

STM32烧录必备:STLink驱动下载与配置实战案例

STM32烧录不翻车&#xff1a;STLink驱动安装与配置全实战指南 你有没有遇到过这样的场景&#xff1f; 新买了一块Nucleo开发板&#xff0c;兴冲冲插上USB线准备下载第一个“Hello World”程序&#xff0c;结果STM32CubeIDE弹出一串红字&#xff1a;“No target connected”。 …

作者头像 李华
网站建设 2026/6/15 16:07:24

图解说明STLink驱动在Keil中的设置步骤

图解说明STLink驱动在Keil中的设置步骤&#xff1a;嵌入式开发调试关键技术解析 为什么你连不上STM32&#xff1f;从一个“无法下载程序”的坑说起 上周&#xff0c;一位刚接触STM32的开发者在群里发问&#xff1a;“我用Keil编译没问题&#xff0c;但一点击‘Download’就报…

作者头像 李华