当前位置: 首页 > news >正文

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的,就是允许并行。

http://www.jsqmd.com/news/227526/

相关文章:

  • 腾讯HY-MT1.5-1.8B性能测试:小模型大作为实战分析
  • Spring 过滤器:OncePerRequestFilter 应用详解
  • PDF-Extract-Kit部署教程:跨平台部署解决方案
  • HY-MT1.5术语干预SDK开发:自定义术语库集成
  • PDF-Extract-Kit实战案例:智能文档检索系统
  • 深度剖析ST7789初始化序列:适合初学的理解方式
  • BRAM在图像处理缓存中的实现:完整示例解析
  • HY-MT1.5性能对比:与Google翻译API实测数据
  • PDF智能提取工具箱实战:手写公式转LaTeX完整步骤
  • 基于深度学习 YOLOv8➕pyqt5的西红柿成熟度检测系统
  • 无人机培训PPT课件 多旋翼无人飞行培训无人机精灵培训PPT
  • PDF-Extract-Kit快速上手:10分钟完成第一个PDF解析项目
  • STM32CubeMX工业电机控制配置:完整指南
  • HY-MT1.5边缘计算方案:离线环境翻译应用部署
  • 基于STM32的rs485modbus协议源代码实现完整示例
  • HY-MT1.5-1.8B模型裁剪:进一步减小体积的方法
  • PDF-Extract-Kit入门教程:PDF元数据提取与分析
  • 腾讯开源HY-MT1.5:模型量化压缩技术解析
  • HY-MT1.5-1.8B实战:低功耗设备部署方案
  • HY-MT1.5-1.8B工业场景应用:设备手册实时翻译系统部署案例
  • HY-MT1.5-1.8B量化部署指南:低资源环境运行方案
  • PDF-Extract-Kit实战案例:保险理赔自动化系统
  • PDF-Extract-Kit技术解析:文档结构理解算法演进
  • 腾讯混元翻译1.5:少数民族语言支持实战
  • PDF-Extract-Kit教程:复杂表格结构识别与转换
  • HY-MT1.5部署指南:企业级翻译服务搭建步骤
  • 嵌入式工控开发必看:STM32CubeMX打不开的核心要点总结
  • 腾讯开源翻译模型应用:旅游行业多语言导览
  • 领导者的系统思考
  • 混元翻译模型1.5实战:术语干预功能详细解析