java quartz2.1_quartz 2.1学习(一)

quartz是一种开源任务调度框架,提供了强大的任务调度机制,Quartz允许开发人员灵活地定义触发器的调度时间表,并可对触发器和任务进行关联映射。废话不多说了,介绍一下编程的基本步骤:

实现Job接口,编码实现需要执行的任务。

定义jobdetail对象,这个对象需要job实现类作为参数

定义trigger,trigger就是一个时间表,定义什么时候来执行任务,主要分为simpletrigger和crontrigger两个子类,前者适用于简单情况:只执行一次或者固定间隔执行;后者使用表达式来灵活调度任务的执行。

定义schedulefactory实例,从schedulefactory工厂中获取schedule对象。schedule就像一个容器,里面放入任务和时间表,将某个任务和某个时间表绑定,就可以让任务按照指定的时间执行。其实schedule就是一个线程池。

下面是个例子:

package quartz;

import java.util.Date;

import org.quartz.Job;

import org.quartz.JobDataMap;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

/**

* Copyright

*
Program Name:TestJavaProject

*
Comments:

*
JDK version used:

*
Create Date:2013-7-17

* @author LA

* @version

*/

public class SimpleJob implements Job{

private Logger logger=LoggerFactory.getLogger(SimpleJob.class);

@Override

public void execute(JobExecutionContext jobCtx) throws JobExecutionException {

System.out.println("I can count to 10->");

//输出1-10

for(int i=1;i<=10;i++){

System.out.println(" | "+i+" ");

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// TODO: handle exception

}

}

System.out.println("

JobDataMap properties=jobCtx.getJobDetail().getJobDataMap();

System.out.println("Previous fire time: "+jobCtx.getPreviousFireTime());

System.out.println("curent file time: "+jobCtx.getFireTime());

System.out.println("next fire time: "+jobCtx.getNextFireTime());

}

}

package quartz;

import org.quartz.CronScheduleBuilder;

import org.quartz.CronTrigger;

import org.quartz.JobBuilder;

import org.quartz.JobDetail;

import org.quartz.Scheduler;

import org.quartz.SchedulerFactory;

import org.quartz.SimpleScheduleBuilder;

import org.quartz.TriggerBuilder;

import org.quartz.impl.StdSchedulerFactory;

/**

* Copyright

*
Program Name:TestJavaProject

*
Comments:

*
JDK version used:

*
Create Date:2013-7-17

* @author LA

* @version

*/

public class CronTriggerRunner {

/**

* @param args

*/

public static void main(String[] args) {

try {

JobDetail jobDetail=JobBuilder.newJob(SimpleJob.class).withIdentity("myjob", "job-group").build();

CronTrigger cronTrigger=TriggerBuilder.newTrigger().withIdentity("cronTrigger", "trigger-group").withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")).build();

SchedulerFactory sFactory=new StdSchedulerFactory();

Scheduler scheduler=sFactory.getScheduler();

scheduler.scheduleJob(jobDetail, cronTrigger);

scheduler.start();

} catch (Exception e) {

e.printStackTrace();

}

}

}

其中定义crontrigger对象时,使用“0/5 * * * * ?”来表示执行的时间表,意思是从0s开始,每隔5秒执行一次,每分每时每天每月。其中0/5的意思是:从0开始,每隔5,即0,5,10.。。。;“*”表示通配,“?”表示占位,没有意义。更多的表达式写法可以查阅相关资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java http setheader_response.setHeader各种用法详解

本文主要介绍了response.setHeader各种用法。具有很好的参考价值&#xff0c;下面跟着小编一起来看下吧一秒刷新页面一次 response.setHeader("refresh","1");二秒跳到其他页面 response.setHeader("refresh","2;URLotherPagename");没…

datagridview取消默认选中_C# WinForm 取消DataGridView的默认选中Cell 使其不反蓝

dataGridView1.Rows[0].Selected false;默认情况下 DataGridView绑定数据后会选中首行首列为实现其没有默认不选中(即绑定后 看不到首行首列反蓝)之前将dataGridView1.Rows[0].Selected false;放在窗体的构造函数中 怎么都看似不起效果 首行首列还是反蓝后来尝试放在窗体的Lo…

java多线程的优点_【java多线程的优点】

作者&#xff1a;Jakob Jenkov 翻译&#xff1a;古圣昌 校对&#xff1a;欧振聪尽管面临很多挑战&#xff0c;在java学习中多线程有一些优点使得它一直被使用。这些优点是&#xff1a;资源利用率更好程序设计在某些情况下更简单程序响应更快资源利用率更好想…

java boolean是什么_java中的boolean与Boolean有什么不同

java中的boolean与Boolean有什么不同发布时间&#xff1a;2020-11-11 15:59:21来源&#xff1a;亿速云阅读&#xff1a;74作者&#xff1a;Leah这篇文章给大家介绍java中的boolean与Boolean有什么不同&#xff0c;内容非常详细&#xff0c;感兴趣的小伙伴们可以参考借鉴&#x…

linux cmake编译安装mysql_Linux源码安装MySQL 5.6.12 (Cmake编译)

Linux源码安装MySQL 5.6.12 (Cmake编译)1.安装make编译器(默认系统自带)下载地址&#xff1a;tar zxvf make-3.82.tar.gzcd make-3.82./configuremakemake install2.安装bison下载地址&#xff1a;tar zxvf bison-2.5.tar.gzcd bison-2.5./configuremakemake install3.安装gcc-…

啊哈java_1.桶排序——啊哈算法java实现

/*** 题目&#xff1a;* 5个人考试得分分别为 5分&#xff0c;3分&#xff0c;5分&#xff0c;2分&#xff0c;8分;满分是10分;* 要将 5 3 5 2 8 这个数组进行降序排序;* 即排序后变为 8 5 5 3 2;* *//*** 桶排序解法&#xff1a; 建一个大小为11的一维数组a,a[0]~a[10]元素都初…

java成员变量的初始化_Java成员变量初始化过程

import java.util.*;public class Main{public static void main(String[] args){Student s new Student(5);s.show();}}class Person{public Person(){System.out.println("父初始化");show();}public void show(){System.out.println("父show");}}class…

java校招面试题_java校招面试编程题及答案.docx

java校招面试编程题及答案java校招面试编程题及答案  Java集合框架为Java编程语言的基础&#xff0c;也是Java面试中很重要的一个知识点。这里&#xff0c;我列出了一些关于Java集合的重要问题和答案。   集合框架是什么?说出一些集合框架的优点?   每种编程语言中都有…

合并两个有序数组 java_合并两个有序的数组

/*** 写在前面&#xff0c;题目要求的是将有序数组合并&#xff0c;那么有可能这所谓的有序是顺序或者逆序* 所以&#xff0c;应该在开始的时候判断一下* 然后&#xff0c;在比较的时候应该根据顺序逆序来写判断逻辑* 不过常规应该是顺序递增&#xff0c;然后就有了以下的代码&…

arp linux 清空_Linux怎么清理ARP缓存

1、系统初始arp环境[rootesx ~]# arp -nAddress HWtype HWaddress Flags Mask Iface192.168.1.175 ether 00:24:1D:97:B6:7F C vswif0192.168.1.120 ether 00:1F:C6:3A:DC:81 C vswif0192.168.1.51 (incomplete) vswif02、执行清除所有arp 缓存命令[rootesx ~]# arp -n|awk /^[…

ctf mysql hash传递_分享个 CTF 小工具 bruteHASH

别问&#xff0c;问就是为了 CTF思路源于一次三小时十二题的内部 CTF 竞赛&#xff0c;其中一道简单 MISC 给出明文范围(字母数字)和 MD5 开头&#xff0c;要求穷举出 flag——这当然不难&#xff0c;python 十几行代码搞定&#xff0c;但是运行出结果竟然用了近 20 分钟&#…

JAVA怎么实现网页退出系统_java后台实现js关闭本页面,父页面指定跳转或刷新操作...

关闭本页面&#xff0c;跳转到百度response.setCharacterEncoding("gbk");PrintWriter outresponse.getWriter();out.print("");out.print("");关闭本页面&#xff0c;刷新父页面response.setCharacterEncoding("gbk");PrintWriter ou…

huffman树java_HuffmanTree - java实现

该思想借鉴于《2019版数据结构高分笔记(c语言版)》- 第7版最近事多&#xff0c;有时间会把思路在这里阐述一下代码思路如下/*** add() 输入names[] weights[]* sort()排序* generateTree()生成树* preOrder() 先序遍历生成节点编码code* inOrder() 前序遍历输出编码** root* / …

java crontriggerbean_java – 使用JobStoreTX为石英聚类配置CronTriggerFactoryBean

我们正在使用Quartz 2.1.5;我们设置了以下属性&#xff1a;org.quartz.jobStore.classorg.quartz.impl.jdbcjobstore.JobStoreTXorg.quartz.jobStore.driverDelegateClassorg.quartz.impl.jdbcjobstore.CloudscapeDelegateorg.quartz.jobStore.useProperties trueorg.quartz.j…

利用文本文档运行java程序_java代码创建文件夹和读取文本文件txt的内容(可运行)...

java代码创建文件夹和读取文本文件txt的内容(可运行)读取txt 的内容 和 创建一个 新的文件夹package com.sec.file;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;public class ReaderFile {public static void main(String[] args) throws Ex…

java ssh 那一层应该捕获异常_java ssh异常(大神来看看啊)

提一个小问题呢&#xff01;ssh框架整合时 我看别人的代码都不对异常做处理&#xff0c;这是为什么呢 如不比如Dao操作数据库的代码中都没用throws异常,那service层中的应该是取不到抛出的异常才对啊&#xff0c;那这样在service层事务的交给Spring来管理的service层取不到异常…

java web 润乾报表教程_润乾报表开发 基础教程.ppt

润乾报表开发 ——基础教程 主格和附属格 单元格进行扩展的过程中&#xff0c;缺省情况下&#xff0c;相对于其右(下)边的单元格而言&#xff0c;扩展格是主动复制的&#xff0c;被称为其它格(其右/下的格)的主格&#xff0c;而其右(下)的单元格是被动跟随复制的&#xff0c;被…

java 布尔逻辑运算符_Java运算符

Java语言提供许多操作符。操作符是特殊的符号(symbol)&#xff0c;它对一个或者两个、三个的操作数进行运算&#xff0c;然后返回一个结果&#xff0c;最简单的就像我们一年级学到的 -号。一般地&#xff0c;可以将运算符分为四大类&#xff1a;算数运算符、位运算符、关系运算…

java7 异常继承_Java基础7-异常;jar包

使用接口进行如下程序设计个人电脑(PC)具有PCI插槽&#xff0c;可以插入PCI卡。显卡、声卡、语音卡都可以作为PCI卡插入PCI插槽中PC,PCI,slot,VideoCard,SoundCard, VoiceCardinterface PCI{public void pci();}class VideoCard implements PCI{public void pci(){System.out.p…

Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍

1. 启动浏览器前边有详细介绍启动三种浏览器的方式(IE、Chrome、Firefox)&#xff1b;private WebDriver driver null;private String chromeDriverDir "D:\\workspace\\A_Test\\resource\\chromedriver.exe";/*** 打开谷歌浏览器&#xff1b;*/public void openCh…