java如何测试定时器_如何测试定时任务 - 邓竣的个人页面 - OSCHINA - 中文开源技术交流社区...
系统一般会有一些后台定时任务,假设我们使用quartz实现定时任务,那么有两个测试功能点:
定时任务逻辑是否正确
定时器cron表达式编写是否正确,触发时间点是否正确
定时任务逻辑测试
如果定时任务在晚上11点执行,我们不可能要求测试人员等到晚上11点时,再去检查任务执行逻辑逻辑是否正确。我们可以提供一个定时器任务管理界面,让测试人员能够手动触发任务马上执行一次。具体实现可以参见:https://www.dexcoder.com/selfly/article/311
定时器cron表达式测试
如果cron表达式比较复杂,或不太确定表达式是否编写正确,可以打印cron表达式,后续几次触发任务执行的时间点,就可以方便检验cron表达式编写是否正确。
打印cron表达式,后续几次触发任务执行时间点,代码示例:
package org.quartz.demo;
import org.quartz.impl.triggers.CronTriggerImpl;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CronTriggerImplDemo {
public static void main(String[] args) throws Exception {
CronTriggerImpl trigger = new CronTriggerImpl();
trigger.setCronExpression("0 */1 * * * ?");
trigger.triggered(null);
Date fireTime = trigger.getNextFireTime();
for (int i = 0; i < 3; i++) {
if (fireTime != null) {
System.out.println("下次执行时间点=" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(fireTime));
fireTime = trigger.getFireTimeAfter(fireTime);
} else {
break;
}
}
}
}
输出示例:
下次执行时间点=2017-04-23 15:52:00
下次执行时间点=2017-04-23 15:53:00
下次执行时间点=2017-04-23 15:54:00
java如何测试定时器_如何测试定时任务 - 邓竣的个人页面 - OSCHINA - 中文开源技术交流社区...相关推荐
- java顺序表冒泡排序_冒泡排序就这么简单 - Java3y的个人空间 - OSCHINA - 中文开源技术交流社区...
冒泡排序就这么简单 在我大一的时候自学c语言和数据结构,我当时就接触到了冒泡排序(当时使用的是C语言编写的).现在大三了,想要在暑假找到一份实习的工作,又要回顾一下数据结构与算法的知识点了. 排序对我 ...
- ie对java的设置字体_关于IE6幽灵字体 - JavaSwing的个人空间 - OSCHINA - 中文开源技术交流社区...
前言:今天做项目的时候在IE6下出现了这样的一种现像,这种情况只在IE6下出现,最后在网友的帮助下这个问题最终得到了解决.所以马上作了下笔记! 情况如下图: 我在网上找了点资料出现IE6下幽灵字体的情 ...
- java拆分任意五位数_五位数拆分出各位 - osc_foo7glsg的个人空间 - OSCHINA - 中文开源技术交流社区...
5.输入一个五位数,输出一个反转的五位数 输入->12345 输出->54321 //这是五位数字拆分方法. System.out.println("请输入五位数的数字:&quo ...
- java 全排列非递归算法_全排列的非递归算法 - osc_ivkc73ze的个人空间 - OSCHINA - 中文开源技术交流社区...
1.全排列的定义和公式: 从n个数中选取m(m<=n)个数按照一定的顺序进行排成一个列,叫作从n个元素中取m个元素的一个排列.由排列的定义,显然不同的顺序是一个不同的排列.从n个元素中取m个元素 ...
- java 滚动加载_滚动加载 - java-苦苦甜甜的个人空间 - OSCHINA - 中文开源技术交流社区...
html代码如下: 滚动条距离底部 #parse("front/common/include.html") $(function () { var i = 4; $(window) ...
- java中加载窗口的函数_Java函数调用 - playgame的个人页面 - OSCHINA - 中文开源技术交流社区...
Java函数调用和存储过程一样步骤如下: 1. 编写自定义的函数,或调用系统函数,为简单起见,我调用Mysql CONCAT()函数. 2.编写java调用测试类,可以是main方法,也可以JUnit ...
- java 1m几个字节_1m等于多少kb - 巍巍的个人页面 - OSCHINA - 中文开源技术交流社区...
经常上网的朋友可能对M这个单位比较的熟悉,比如下载一个文件,下载一首音乐或者电影,它们的文件大家通常都是以M为单位,一首歌通常为几M左右,一部电影可能达到了几百上千M了.还有我们的手机流量套餐,比如有 ...
- php面试题 优信二手车_分布式定时任务对比 - sharedCode的个人空间 - OSCHINA - 中文开源技术交流社区...
分布式定时任务 1. 什么是分布式定时任务 把分散的,可靠性差的计划任务纳入统一的平台,并实现集群管理调度和分布式部署的一种定时任务的管理方式.叫做分布式定时任务. 2. 常见开源方案 elastic ...
- Java位语句_卫语句 - 宿小帅的个人空间 - OSCHINA - 中文开源技术交流社区
1.使用卫语句取代嵌套表达式 函数中的条件逻辑使人难以看清正常的执行途径.使用卫语句表现所有特殊情况. 动机:条件表达式通常有2种表现形式.第一:所有分支都属于正常行为.第二:条件表达式提供的答案中只 ...
最新文章
- 南京大学「自然指数」超越清华北大,位列全国高校第一、世界第七,突显学术实力...
- python学习方向-Python学习者的发展方向
- linux 内存交换参数,Ubuntu Linux:处理交换内存和内存使用情况
- 代码实现tan graph model for classification_几行代码搞定ML模型,低代码机器学习Python库正式开源...
- Django实现发邮件
- python微信自动回复
- [抄]人是怎么废掉的
- 行为型模式——状态模式(十一)
- Win10在使用setuna2时,启动截屏后屏幕会放大的问题
- 2021-11-16
- IE10横空出世,一统江湖
- 科学计算机imissyou,imissyou是什么意?imissyou – 手机爱问
- java jmf变成_java JMF 多媒体
- 呼叫中心电话系统,你了解多少?
- 无损音乐知识收集3(转)
- 【AWS云从业者基础知识笔记】——模块7:监控和分析
- Cadence 工具功能分析
- 区块链技术2---BTC的数据结构
- qsub作业提交命令
- 国产汽车半导体极限突围
热门文章
- mysql 三个表的外连接方式,MySQL表连接使用详解,内连接,外连接,交叉连接
- woe分析_机器学习-谈谈逻辑回归里面的woe化-20170911
- 计算机辅助设计maya,计算机辅助设计——MAYA建模指导.ppt
- liunx 线上排查 常用命令
- NLP模型笔记2022-31:neo4j+py2neo构建图GCN卷积神经网络数据集知识图谱(Karate俱乐部)
- 部分软件不能联网的问题
- Hutool 之 Excel导入导出
- uni-ap开发app
- 2022年蓝牙耳机什么牌子好?这五款高性价比蓝牙耳机适合学生党
- 攻城狮,你知道闪存电压拉偏时的一些基础数据吗?