quartz---的一个简单例子
quartz---的一个简单例子
首先建立一个maven项目。jar工程即可。(提示:我前面有如何建立一个maven工程的总结以及maven环境的配置。)
1.建立好后点击到app中运行,-->右键-->run As-->java application,
如果控制台打印出来Hello World! 代表maven工程建立成功!!!
2.在pom文件中导入quartz的jar。
-->可以打开http://mvnrepository.com/ -->搜索quartz -->复制quartz的坐标。 用最新的jar
导入jar:
建一个类:
package com.imooc.demo.helloQuartz; import java.text.SimpleDateFormat;
import java.util.Date; import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; public class HelloJob implements Job{ @Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
//打印当前执行的时间,格式为2017-05-06 00:00:00
Date date=new Date();
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("Current Exec Time Is:"+sf.format(date));
//编写具体业务逻辑
System.out.println("------------------");
System.out.println("Hello world-");
} }
该类实现了Job类,并需要从写他仅有的一个方法execute
写一个测试类:
package com.imooc.demo.helloQuartz; import java.text.SimpleDateFormat;
import java.util.Date; import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory; public class HelloScheduler { public static void main(String[] args) throws SchedulerException {
// 创建一个jobDatail实例,将该实力与helloJob绑定
JobDetail detail = JobBuilder.newJob(HelloJob.class).withIdentity("myJob").build();
System.out.println("JobDetail name:" + detail.getKey().getName());
System.out.println("JobDetail group:" + detail.getKey().getGroup());
System.out.println("JobDetail jobClass:" + detail.getKey().getClass()); // 创建一个Trigger实例,定义该job立即执行,并且在每隔2秒重复执行
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1").startNow()
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever()).build();
// 创建Scheduler实例
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
scheduler.start();
Date date = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("Current Exec Time Is:" + sf.format(date)+"-----");
// 把jobDetail和Trigger与scheuler绑定在一起
scheduler.scheduleJob(detail, trigger);
}
}
-->右键-->run As-->java application,
此时 每隔2秒打印一次当前时间和Hello World! 然后就正确了
第一个quartz项目:
使用了Job,jobDetail以及他们的属性:name,class,group。
代码说明了一切,这里我就不啰嗦了。
quartz---的一个简单例子的更多相关文章
- 一个简单例子:贫血模型or领域模型
转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...
- (转)Java中使用正则表达式的一个简单例子及常用正则分享
转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...
- C语言多线程的一个简单例子
多线程的一个简单例子: #include <stdio.h> #include <stdlib.h> #include <string.h> #include &l ...
- 用socket.io实现websocket的一个简单例子
socket.io 是基于 webSocket 构建的跨浏览器的实时应用. 逛博客发现几个比较好的 一.用socket.io实现websocket的一个简单例子 http://biyeah.iteye ...
- 企业级任务调度框架Quartz(3) 一个简单的Quartz 例子
1. 一个简单的Quartz 工程 本示例应用比起众所周知的 System.out.println("Hello world from Quartz") 来还是要有趣些.当 ...
- 词法分析程序 LEX和VC6整合使用的一个简单例子
词法分析的理论知识不少,包括了正规式.正规文法.它们之间的转换以及确定的有穷自动机和不确定的有穷自动机等等... 要自己写一个词法分析器也不会很难,只要给出了最简的有穷自动机,就能很方便实现了,用if ...
- spring集合类型的setter注入的一个简单例子
在项目中我们有时候会为集合类型设定一些默认的值,使用spring后,我们可以通过配置文件的配置,用setter方式为对象的集合属性提供一些默认值,下面就是一个简单的例子. 首先我们创建了一个名为Col ...
- netsh interface portproxy的一个简单例子
netsh interface portproxy的微软帮助文档地址: https://technet.microsoft.com/zh-cn/library/cc776297(WS.10).aspx ...
- js 排列 组合 的一个简单例子
最近工作项目需要用到js排列组合,于是就写了一个简单的demo. 前几天在网上找到一个写全排列A(n,n)的code感觉还可以,于是贴出来了, 排列的实现方式: 全排列主要用到的是递归和数组的插入 比 ...
随机推荐
- poj 1274 The Perfect Stal - 网络流
二分匹配传送门[here] 原题传送门[here] 题意大概说一下,就是有N头牛和M个牛棚,每头牛愿意住在一些牛棚,求最大能够满足多少头牛的要求. 很明显就是一道裸裸的二分图最大匹配,但是为了练练网络 ...
- UNIX网络编程--简介(一)【转】
本文转载自:http://blog.csdn.net/yusiguyuan/article/details/11760187 一.概述 a) 在编写与计算机通信的程序时,首先要确定的就是和计算机通信的 ...
- com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
作者原创,转载请注明转载地址 第一次遇到该异常,在网上搜了很长时间也没找到解决答案,特此记录 1.异常展示: com.fasterxml.jackson.databind.JsonMappingExc ...
- redis nginx session tomcat
Redis解决session共享 http://lyl-zsu.iteye.com/blog/2408292 http://zx10103326.iteye.com/blog/2244195 http ...
- zeptojs库解读2之事件模块
第一,通过obj.addEventListener("click",fn)绑定的事件,你不能通过obj.onclick = null;来移除绑定点击事件的所有回调函数. 所以引入第 ...
- 【转载】非Lumia 950/XL机型 强行开启continuum教程
听说Windows 10 Mobile 的 Continuum 特性很长时间了,但是由于我自己的 Lumia 930 不在支持之列,一直没能体验到这个功能.今天在酷七看到了这篇文章,按文章所述的步骤进 ...
- Cocos2d-x学习笔记(十一)动作
动作类Action是一切动作的祖先类.它有三个直接继承子类: FiniteTimeAction受时间限制的动作: Follow精灵跟随精灵的动作: Speed运动速度控制: 而FiniteTimeAc ...
- python filter函数
number_list = range(-, ) less_than_zero = list(filter(lambda x: x < , number_list)) print(less_th ...
- Java 集合、Iterator迭代器、泛型等
01集合使用的回顾 A:集合使用的回顾 a.ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayList<I ...
- Django内置模板标签
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...