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种表现形式.第一:所有分支都属于正常行为.第二:条件表达式提供的答案中只 ...
最新文章
- 小学生也能看懂的微服务节点判活难题
- android ViewPager页面左右滑动切换
- Linux kernel之SMP初始化
- 2021垂直类电商私域化洞察报告
- 2020年5月数据库流行度排行:疫情下开源数据库逆势增长,新基建下国产数据库迎机遇...
- awk 匹配_20分钟降服awk
- 以太网交换机工作原理
- Docker下Cannot connect to the Docker daemon. Is the docker daemon running on this host错误解决方案
- 使用scrapy-redis构建简单的分布式爬虫
- QT--内存错误导致程序崩溃
- 《应用商务统计分析》第五章 定序回归
- WPS页眉页脚怎么设置每页不同
- TCP服务器 IO多路复用的实现:select、poll、epoll
- 什么是IaaS PaaS SaaS,看这一篇就够了
- Windows 2003 工作手册
- 推荐几个阿里,百度大佬的订阅号给大家
- NLP第四范式:Prompt概述【Pre-train,Prompt(提示),Predict】【刘鹏飞】
- 通用Mmapper配置
- python中ret是什么意思_Python ret
- 常用函数的拉氏变换表