Quartz实现跑批

定时跑批报表项目(ssm架构) 基于ssm项目开发的定时跑批报表项目,开启关闭可视化操作,具体操作日志,定时执行时间状态结果及日志 基于ssm项目开发的定时跑批报表项目,开启关闭可视化操作,具体操作日志,定时执行时间状态结果及日志 立即下载

Quartz介绍

1.特点

(1)强大的调度功能:作为spring默认的调度框架,很容易与spring集成,实现灵活可配置的调度功能;还提供了调度运行环境的持久化机制,可以保存并恢复调度现场,
即使系统因故障关闭,任务调度现场数据并不会丢失。

(2)灵活的应用方式:允许开发者灵活的定义触发器的调度时间表并可以为触发器和任务进行关联映射。

(3)分布式和集群能力。

2.主要用到的设计模式

  • Builder模式
  • Factory模式
  • 组件模式
  • 链式写法

3.三个核心概念

  • 调度器:负责定期定时定频率的去执行任务
  • 任务:包括了业务逻辑
  • 触发器:让东西生效的时间

4.Quartz的体系结构

13087175-93bdae8053678dee.jpg
体系结构.jpg

5.实现

pom.xml:

<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.3</version>
        </dependency>

applicationContext.xml配置:每五秒轮询一次。注意:周和日期不能同时为通配符”*“

<bean id="planInfoServiceImpl" class="com.xxx.xxx"></bean>
    <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="planInfoServiceImpl"></property>
        <property name="targetMethod" value="backup"></property> 
    </bean>
    <bean id="trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="jobDetail"></property>
        <property name="cronExpression" value="*/5 * * * * ? *"></property>
</bean>

业务逻辑从spring容器中拿到任务和触发器:

    @Autowired
    private JobDetail jobDetail;
    @Autowired
    private CronTrigger trigger;

业务逻辑创建管理:使用此方法不会采用shutdown销毁Scheduler,因为销毁Scheduler后再次加载jobDetail时会报身份标识存在的异常,索性任务调度使用完毕后使用pauseAll()暂停任务调度,需要时恢复调度,按需修改触发周期。

    SchedulerFactory ss = new StdSchedulerFactory();
        try {
            if(sched==null){//第一次使用加载任务和触发器
                sched = ss.getScheduler();
                sched.scheduleJob(jobDetail, trigger);
            }else{//非第一次触发,恢复任务调度
                try {
                    trigger.setCronExpression("*/5 * * * * ? *");
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                sched.resumeAll();
            }        
            if(!sched.isShutdown()){

                sched.start();
            }
        } catch (SchedulerException e) {
            e.printStackTrace();
        }
扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码) 扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码) 文章目录扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)理论讲解KF和EKF模型对比雅可比矩阵计算计算实例应用实例线性模型CV模型:CA模型非线性模型CTRV模型:CTRV实例(python)small demo抛物线demo飞机高度demoC++实例参考文献 我们上篇提到的卡尔曼滤波是用于线性系统,预测(运动)模型和观测模型是在假设高斯和线性情况下进行的。简单的卡尔曼滤波必须应用在符合高斯分布 阅读详情

相关推荐

FFmpeg硬件加速实战:VAAPI驱动配置全攻略(含NVIDIA/Intel避坑指南)

本文详细解析了在Linux环境下配置FFmpeg使用VAAPI接口实现硬件加速的完整流程。针对NVIDIA、Intel等主流显卡,提供了从驱动安装、环境变量设置到多显卡切换的实战指南,并重点解决了闭源驱动冲突、国产系统适配等常见问题,帮助用户有效提升视频处理性能。

weixin_29306011的博客 456

java跑批任务调度_任务调度框架Quartz实现的跑批程序(四)

Job与JobDetail是Quartz用来定义具体任务的,而Trigger则是用来定义任务如何执行的。Quartz提供了Trigger接口来定义公共属性,使用TriggerBuilder可以创建具体类型的Trigger;最常见的两种Trigger分别是SimpleTrigger、CronTrigger。Trigger的公共属性:key,该属性是为了标识Trigger的。startTime,Tri...

weixin_32279911的博客 530

HarmonyOS应用开发者基础认证

B. 自定义组件:可复用的 UI 单元,可组合其它组件。D. 内置组件:ArkTS中默认内置的基本组件和布局组件,开发者可以直接调用,如Column、Text、Divider、Button等。E. 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等。在Column和Row容器组件中,justifyContent用于设置子组件在主轴方向上的对齐格式,alignItems用于设置子组件在交叉轴方向上的对齐格式。

牛肉胡辣汤 3818

使用spring的quartz定时器实现跑批任务

1.首先需要找到定时器需要使用到的jar包,如下: 我已经把这些jar包上传至优快云上去啦,下载地址:https://download.youkuaiyun.com/download/huidoo888/10563104 2.配置spring定时器的bean文件 <!-- 定时加载的目标类 --> <bean id="job1" class="com.wkz...

huidoo888的博客 1455

Openclaw错误排查及解决方案之:Something went wrong while processing your request. Please try again.

Openclaw错误排查及解决方案之:Something went wrong while processing your request. Please try again.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 3788

Python 爬虫实战:社交媒体(Facebook)评论数据抓取与情感分析

在当今数字化时代,社交媒体平台如 Facebook 已成为人们日常生活中不可或缺的一部分。它不仅是人们分享生活点滴、交流思想的场所,也为企业和研究人员提供了丰富的数据资源。通过分析社交媒体上的评论数据,我们可以了解用户的情感倾向、产品反馈以及社会热点话题等。本文将详细介绍如何使用 Python 爬虫技术抓取 Facebook 上的评论数据,并进行情感分析。这不仅是一次技术实战,更是一次数据探索之旅。

yansideyucsdn的博客 672

Spring整合Quartz框架实现定时任务跑批(Maven完整版)

Quartz 介绍 Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java application - from the smallest stand-alone application

reggergdsg的博客 1万+

深度学习与西储大学轴承数据集(一)

西储大学数据集介绍

weixin_50642818的博客 1万+

java跑批任务调度_任务调度框架Quartz实现的跑批程序(二)

J2EE中用的最多的任务调度框架应该就是Quartz了,最近比较清闲,就来详细了解一下Quartz;用这个博客来记录下学习心得,如有错误之处,还请各位大神指点。1.关键接口Scheduler,任务调度的API;它可以用来启动或者终止任务等。Job,具体的任务接口;通过实现它,来让任务调度执行具体的任务。JobDetail ,用来定义Job的实例。Trigger ,触发器用来定义给定的Job应该如何...

weixin_39765057的博客 434

【AI智能体】Claude Code 高级编程技巧实战项目详解

Claude Code 高级编程技巧实战项目详解

congge 1万+

STM32CubeMX配置FSMC驱动外部SRAM全流程详解

FSMC(灵活静态存储控制器)是STM32实现高速并行外部存储扩展的核心外设,其本质是将片外SRAM地址空间映射为CPU可直接读写的内存区域。原理上依赖于精确的时序寄存器配置(如BTRx)、GPIO复用功能启用及AHB3总线时钟同步机制,技术价值在于免DMA搬运的零拷贝访问能力与确定性低延迟。典型应用场景包括工业HMI缓存、医疗设备实时数据采集、嵌入式图形加速等对带宽和确定性要求严苛的系统。本文围绕STM32F407ZG平台,结合STM32CubeMX工程化配置、硬件信号完整性设计与HAL库底层映射逻辑,系

weixin_34718952的博客 232

任务调度框架Quartz实现的跑批程序(一)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34067980的博客 188

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++初中组:带解析)(7月4日试卷一)【文末附答案和解析】

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++初中组:带解析)(7月4日试卷一)【文末附答案和解析】

王老师青少年编程 1738

任务调度框架Quartz实现的跑批程序(二)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33961829的博客 131

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

任务调度框架Quartz实现的跑批程序(三)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33883178的博客 120

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

任务调度框架Quartz实现的跑批程序(四)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34208185的博客 179

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

任务调度框架Quartz实现的跑批程序(五)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34194087的博客 170

quartz的maven依赖_Spring整合Quartz框架实现定时任务跑批(Maven完整版)

Quartz 介绍Quartz is a full-featured, open source job scheduling service that can be integrated with, orused along side virtually any Java application - from the smallest stand-alone application tothe l...

weixin_39745345的博客 636

任务调度之 Quartz

任务调度的背景   在业务系统中有很多这样的场景: 账单日或者还款日上午 10 点,给每个信用卡客户发送账单通知,还款通知。如何判断客户的账单日、还款日,完成通知的发送? 银行业务系统,夜间要完成跑批的一系列流程,清理数据,下载文件,解析文件,对账清算、切换结算日期等等。如何触发一系列流程的执行? 金融机构跟人民银行二代支付系统对接,人民银行要求低于 5W 的金额(小额支付)...

吴振照 1264

Quartz代码详解

前言 最近在工作中,借助于Quartz实现一个定时任务的跑批,下面简单总结下,以供大家参考讨论。 目录 Quartz是做什么的? Quartz怎么做到的? 怎么用Quartz做到? Quartz是做什么的? 任务调度框架,比如你有这样的需求: 每周五更新远程数据库和本地数据库的数据 每月15号检查工资是否到账 每隔一周,对本地数据库核心表数据进行一次备份 简而言之,就是在客...

小波的博客 850

使用spring整合Quartz实现—定时器

    使用spring整合Quartz实现—定时器(Maven项目做演示)不基于特定的基类的方法一,开发环境以及依赖的jar包    Spring 4.2.6.RELEASE    Maven 3.3.9    Jdk 1.7    Idea 15.04二,不可少的jar依赖(添加在maven项目里面的pom.xml文件里面)    &lt;dependency&gt; &lt;grou...

weixin_40274435的博客 251

spring + quartz 定时器的简单实现

spring-quartz 配置文件:                                                     execute                                 false                                             

qq_37540624的博客 240

Spring的跑批

一. 在企业应用中,我们经常会碰到时间任务调度的需求,比如每天凌晨生成前天报表,每小时生成一次汇总数据等等。Quartz是出了名的任务调度框架,它可以与J2SE和J2EE应用程序相结合,功能灰常强大,轻轻松松就能与Spring集成,使用方便。 二.  Quartz中的概念 主要有三个核心概念:调度器、任务和触发器。三者关系简单来说就是,调度器负责调度各个任务,到了某个时刻或者过了一定时间,触发

白成卫的博客 5919
上一篇: SpringContextHolder使用报错
下一篇: Java 8 日期和时间的API
小许子是逗星人
博客等级 码龄11年 2粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值