Quartz框架多个trigger任务执行出现漏执行的问题分析

2023-11-19

一、问题描述
使用Quartz配置定时任务,配置了超过10个定时任务,这些定时任务配置的触发时间都是5分钟执行一次,实际运行时,发现总有几个定时任务不能执行到。

二、示例程序
1、简单介绍
采用spring+quartz整合方案实现定时任务,Quartz的SchedulerFactoryBean配置参数中不注入taskExecutor属性,使用默认自带的线程池。准备了15个定时任务,全部设置为每隔10秒触发一次,定时任务的实现逻辑是使用休眠8秒的方式模拟执行定时任务的时间耗费。

2、配置文件信息如下(节选):

<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="testMethod1Trigger"/>
                <ref bean="testMethod2Trigger"/>
                // 以下省略13个 触发器的配置
           </list>
        </property>
    </bean>

    <bean id="testMethod1Trigger"  class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="testMethod1" />
        <!-- 指定Cron表达式:每10秒触发一次 --> 
        <property name="cronExpression"  value="0/10 * * * * ?"/>
    </bean>
    <bean id="testMethod1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="triggerService" /> 
        <!-- 要执行的方法名称 -->
        <property name="targetMethod" value="method1" />
    </bean>
     // 以下省略14个定时任务的配置

3、Java定时任务类程序如下(节选)

@Service("triggerService")
public<
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Quartz框架多个trigger任务执行出现漏执行的问题分析 的相关文章

  • Spring揭秘 学习笔记一 (Spring的IoC容器 一)

    Spring框架为POJO提供的各种服务共同组成了Spring的生命之树 如图1 1所示 第2章 IoC的基本概念 2 1 IoC全称为Inversion of Control 中文通常翻译为 控制反转 它还有一个别名叫做依赖注入 Depe
  • SSM三层架构之间整合

    一 前言 之前学习ssm框架的时候都是每个框架独立分散的系统性学习 对于框架的整体 总结效果不太好 后来看了黑马视频教程有个老师的思路给了我比较大的启发 以spring为中心 去整合springmvc mybatis 无论是搭建环境 还是理
  • maven环境变量配置,总不成功,你就这样试试

    我下载了maven 解压后的目录为 配置了用户变量为下图 然后配置系统的path变量如下图 配置完后我也重启了系统 但是还是显示为下图 这是怎么回事 我进入 bin 下执行命令就没问题 说明程序好好的 但是这个怎么就是不成功呢 分享到 举报
  • mybatis的熟练运用以及反射知识讲解

    JSP常用设计模式MVC模式 Mybatis mybatis的使用 我们在写项目的时候必定要写DAO 写DAO的时候不难发现对每张表的DAO都差不多 只是sql语句不同 DAO中的每个方法其实也差不多 所以直接用JDBC写DAO是在太麻烦
  • vue中引用cdn中的js文件或者json的用法

    1 现在有一个js文件要放在cdn上 这个js文件的内容如下 var testArr a 1 2 我要在vue项目中使用这个变量 因为这个变量可能是经常变化的 但是不能变化一次就打包一次 所以将他放在cdn上 有使用的话直接改变cdn上的j
  • 服务器架构的演进

    服务器端的架构随着公司以及业务的发展 它不断演进 其演进的过程如下 https www cnblogs com joelan0927 p 10425530 html https blog csdn net daogla article de
  • Quartz 基本使用

    Quartz 基本使用 一 Quartz的核心概念 二 Quartz的几个常用API 三 Quartz的使用 四 Quartz核心详解 五 JobListener 六 TriggerListener 七 SchedulerListener
  • 理解Spring的AOP和Ioc/DI就这么简单

    一 什么叫Ioc DI Ioc Inversion of Control 控制反转 DI Dependency Injection 依赖注入 其实这两个概念本质上是没有区别的 那我们先来看看什么叫做Ioc 假设这么一个场景 在A类中调用B类
  • 框架的注解

    文章目录 一 mybatis 1 MyBatis的常用注解 2 MyBatis的注解实现复杂映射开发 二 Spring 1 Spring原始注解 2 Spring新注解 3 注解配置 AOP 详解 三 springMVC 1 Request
  • 接口的加密解密

    接口加密 1 接口参数加密 基础加密 2 接口参数加密 接口时效性验证 一般达到这个级别已经非常安全了 3 接口参数加密 时效性验证 私钥 达到这个级别安全性固若金汤 4 接口参数加密 时效性验证 私钥 Https 我把这个级别称之为金钟罩
  • 使用jasypt为springboot配置文件加密

    使用jasypt为配置文件加密 配置项明文可能出现的问题 先看一份典型的配置文件 配置MySQL数据库连接 spring datasource driver class name com mysql jdbc Driver spring d
  • Spring面向切面编程-AOP

    前言 在软件开发中 面向切面编程 Aspect Oriented Programming AOP 是一个非常重要的编程范式 Spring AOP是Spring框架提供的AOP实现 在Spring中使用AOP实现企业应用开发已经非常普遍 本文
  • 多线程太可怕了

    今天发现了一个多线程引起的bug 然后进一步体会到 这东西太容易出问题了 首先要说明的是 出问题的代码可不是一般人写的 是由一个叫EPAM systems的世界知名外包公司的人写的 这些java程序员个个经验丰富 心高气傲 貌似base在乌
  • Robotframework 入门教程(二)

    变量 RF用 分别表示标量 列表 和字典 对应的就是python中的sre list和dict RF中Variables用来创建变量 修改我们的demo robot如下 对应于python的语法 var value list1 a b c
  • SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询

    摘要 本文我们将继续分享介绍Spring Boot在整合Mybatis开发企业级应用时其他典型的业务场景 即Mybatis是如何实现多表关联查询时将查询结果集与对象进行映射的 主要的内容包含 一对一的表关联 和 一对多 多对多的表关联 查询
  • Quartz-Spring[一]之MethodInvokingJobDetailFactoryBean配置任务

    Spring中使用Quartz的3种方法 MethodInvokingJobDetailFactoryBean implements Job extends QuartzJobBean 动态启动 暂定 添加 删除定时功能 可传参数 Quar
  • mfc窗口创建的create与oncreate

    在view类中 create 是虚函数由框架调用 是用来 生成一个窗口的子窗口 oncreate 消息响应函数 是用来 表示一个窗口正在生成 某个CWnd的Create函数由当前CWnd的Owner调用 而在CWnd Create中 又会调
  • iOS自动布局——Masonry详解

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由鹅厂新鲜事儿发表于云 社区专栏 作者 oceanlong 腾讯 移动客户端开发工程师 前言 UI布局是整个前端体系里不可或缺的一环 代码的布局是设计语言与用户视觉感受沟通的桥梁
  • Quartz.Net TriggerJob并等待执行

    我需要手动调用一些 Quartz NET 作业并等待它们完成 请参阅下面的简化示例代码 HttpPost action jobKey public async Task
  • Quartz 调度程序执行 Runnable

    Quartz Scheduler 可以执行 Runnable 吗 例如 我有以下代码正在由 spring 运行TaskScheduler Autowired Qualifier IntegrationConfiguration TASK S

随机推荐

  • HBase跨版本数据迁移总结

    本文首发腾云阁 HBase跨版本数据迁移总结 某客户大数据测试场景为 Solr类似画像的数据查出用户标签 通过这些标签在HBase查询详细信息 以上测试功能以及性能 其中HBase的数据量为500G Solr约5T 数据均需要从对方的集群人
  • 剑指 Offer 56 - II. 数组中数字出现的次数 II(java+python)

    在一个数组 nums 中除一个数字只出现一次之外 其他数字都出现了三次 请找出那个只出现一次的数字 示例 1 输入 nums 3 4 3 3 输出 4 示例 2 输入 nums 9 1 7 9 7 9 7 输出 1 限制 1 lt nums
  • 宝塔面板 创建 二级域名 Unable to round-trip http request to upstream

    1 我的服务器是阿里云 安装了宝塔面板 直接使用宝塔面板创建二级域名bike caowei wang 2 然后就想访问了 对不起 直接给你报错Unable to round trip http request to upstream dia
  • 第二届网刃杯--部分Re

    1 freestyle ida中分析有个两个fun atoi 将字符转换为整数 得到答案为3327105 MD5加密提交 2 Re function 没有提供密码 但是在右边看到熟悉的89 50 利用winhex保存出来 得到解压密码 解压
  • 宝塔登录面板

    请使用正确的入口登录面板 错误原因 当前新安装的已经开启了安全入口登录 新装机器都会随机一个8位字符的安全入口名称 亦可以在面板设置处修改 如您没记录或不记得了 可以使用以下方式解决 解决方法 在SSH终端输入以下一种命令来解决 1 查看面
  • flutter 秒转时分秒

    参考 倒计时工具 class CountdownUtils 补零 static String zeroFill int i return i gt 10 i 0 i 秒转时分秒 static String second2HMS int se
  • 关系数据关联性分析实验

    1 散点图 基于ggplot内置数据mtcars 以mpg列为横坐标 以wt列为纵坐标 以cyl列分组控制颜色 绘制散点图 点的形状为三角形 大小为150 图的标题为 MPG VS WT from ggplot import data gg
  • 【RPA机器人】PDF批量转换成图片机器人

    运行前须知 1 仅支持win10系统 2 请确保安装金山PDF独立版 3 请把屏幕分辨率设置为1920x1080 缩放布局100 4 生成的图片将保存在所选文件夹目录下 运行流程 1 获取需批量转换PDF的文件夹 2 等待文件自动转换 运用
  • Python3中__call__方法介绍

    如果Python3类中有 call 方法 那么此类实例的行为类似于函数并且可以像函数一样被调用 当实例作为函数被调用时 如果定义了此方法 则x arg1 arg2 是x call arg1 arg2 的简写 为了将一个类实例当作函数调用 我
  • 如何实现一个分布锁?

    基本概念 为何需要分布式锁 传统环境中的情况 在程序开发过程中不得不考虑的就是并发问题 在java中对于同一个jvm而言 jdk已经提供了lock和同步等 但是在分布式情况下 往往存在多个进程对一些资源产生竞争关系 而这些进程往往在不同的机
  • 七. go 常见数据结构实现原理之 反射

    目录 一 golang 是如何实现反射的 如何比较两个对象完全相等 一 golang 是如何实现反射的 参考博客Go 语言问题集 Go Questions Go 语言在 reflect 包里定义了各种类型 实现了反射的各种函数 通过它们可以
  • 【Git系列】Git配置SSH免密登录

    Git配置SSH免密登录 1 设置用户名和邮箱 2 生成密钥 3 远程仓库配置密钥 2 免密登录 其他系列 Git最详细的体系化教程 在以上push操作过程中 我们第一次push时 是需要进行录入用户名和密码的 比较麻烦 而且我们使用的是h
  • 刷脸支付技术更多的是想要助力数字化运营

    刷脸支付是在原有的收银系统基础上增加一种收款方式 不影响收银系统 收银更有效 支付更便捷 体验感更好 节省时间成本 资金更安全 支付宝 微信官方为推广刷脸支付 两大官方投入巨额资金普及刷脸支付 日常生活中可避免忘记带手机 手机没电 通话中
  • C++17中utf-8 character literal的使用

    一个形如42的值被称作字面值常量 literal 这样的值一望而知 每个字面值常量都对应一种数据类型 字面值常量的形式和值决定了它的数据类型 由单引号括起来的一个字符称为char型字面值 双引号括起来的零个或多个字符则构成字符串型字面值 字
  • 两万字带你认识黑客在kali中使用的工具

    目录 前言 一 信息收集工具 二 脆弱性分析工具 三 漏洞利用工具 四 嗅探与欺骗工具 五 密码攻击工具 六 权限提升工具 七 Web应用工具 八 无线攻击工具 九 硬件黑客工具 十 维持访问工具 十一 取证工具 十二 逆向工程工具 十三
  • Linux动态链接库.so文件的创建与使用

    1 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库 一个 程序函数库 简单的说就是一个文件包含了一些编译好的代码和数据 这些编译好的代码和数据可以在事后供其他的程序使用 程序函数库可以使整个程序更加模块化 更容易重新编译
  • Qt 简述QSettings配置文件保存使用数据

    前言 在开发中 需要将一些信息保存到本地 以便下次程序启动时使用 文件读写 数据库都是可以的 但是Qt提供了QSettings接口方法 将需要的信息写入或者读取配置文件中 其方法类似键值对 QSettings可以存储一系列设置 每个设置包括
  • 探讨Socks5代理IP在跨境电商与网络游戏中的网络安全应用

    随着全球互联网的迅猛发展 跨境电商和在线游戏成为了跨国公司和游戏开发商的新战场 然而 与此同时 网络安全问题也日益突出 本文将探讨如何利用Socks5代理IP来增强跨境电商和网络游戏的网络安全 保障数据传输的隐私和安全性 第一部分 Sock
  • 五分钟,带你彻底掌握 MyBatis 缓存的工作原理

    点击上方 芋道源码 选择 设为星标 管她前浪 还是后浪 能浪的浪 才是好浪 每天 8 55 更新文章 每天掉亿点点头发 源码精品专栏 原创 Java 2020 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络
  • Quartz框架多个trigger任务执行出现漏执行的问题分析

    一 问题描述 使用Quartz配置定时任务 配置了超过10个定时任务 这些定时任务配置的触发时间都是5分钟执行一次 实际运行时 发现总有几个定时任务不能执行到 二 示例程序 1 简单介绍 采用spring quartz整合方案实现定时任务