news 2026/5/1 10:51:41

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/5/1 5:03:23

PDF-Extract-Kit实战案例:智能文档检索系统

PDF-Extract-Kit实战案例&#xff1a;智能文档检索系统 1. 引言 在科研、教育和企业办公场景中&#xff0c;PDF 文档作为知识传递的核心载体&#xff0c;往往包含大量结构化信息——如文字、表格、数学公式和图像。然而&#xff0c;传统方式难以高效提取这些内容并进行二次利…

作者头像 李华
网站建设 2026/5/1 7:49:57

从下载到运行:Proteus Windows安装完整示例

从零开始搭建电路仿真环境&#xff1a;Proteus Windows 安装与首个项目实战指南 你是不是也曾在学习单片机或做课程设计时&#xff0c;被“画错一根线就得重焊一遍”的现实折磨得够呛&#xff1f;有没有想过&#xff0c;在电脑上就能把整个电路连好、程序烧进去、还能用虚拟示…

作者头像 李华
网站建设 2026/3/4 14:40:55

基于TouchGFX的智能温控面板开发实战案例

从零打造专业级智能温控面板&#xff1a;TouchGFX STM32 实战全解析你有没有过这样的体验&#xff1f;家里的空调面板反应迟钝&#xff0c;调个温度要等半秒才动&#xff1b;或者工业设备上的操作屏&#xff0c;界面像十几年前的老家电&#xff0c;按钮生硬、动画卡顿。这些“…

作者头像 李华
网站建设 2026/5/1 9:25:24

混元翻译1.5模型对比:1.8B vs 7B选型指南

混元翻译1.5模型对比&#xff1a;1.8B vs 7B选型指南 随着多语言交流需求的持续增长&#xff0c;高质量、低延迟的机器翻译模型成为智能应用落地的关键基础设施。腾讯开源的混元翻译大模型&#xff08;HY-MT1.5&#xff09;系列在近期发布了两个核心版本&#xff1a;HY-MT1.5-…

作者头像 李华
网站建设 2026/4/23 12:32:53

PDF智能提取工具箱实战:医学报告关键指标提取

PDF智能提取工具箱实战&#xff1a;医学报告关键指标提取 1. 引言&#xff1a;医学报告结构化提取的挑战与解决方案 在医疗信息化进程中&#xff0c;大量临床数据以非结构化的PDF格式存储&#xff0c;尤其是体检报告、检验单、影像诊断书等关键文档。这些文档中蕴含着血压、血…

作者头像 李华
网站建设 2026/5/1 9:27:00

image2lcd在OLED显示驱动中的实战案例详解

从一张图片到OLED屏幕&#xff1a;用image2lcd打通嵌入式图形显示的“最后一公里”你有没有过这样的经历&#xff1f;UI设计师发来一个精致的Logo PNG图&#xff0c;说&#xff1a;“这个要显示在设备开机画面上。”你打开工程&#xff0c;心想&#xff1a;好家伙&#xff0c;怎…

作者头像 李华