Java Quartz用法
code:
这里的MyJob必须是public,这里Job实例化的时候要用到反射,必须是public的,不能与调度操作放同一个.java文件中。
package com.qhong; import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar; /**
* Created by Administrator on 2017/3/14 0014.
*/
public class MyJob implements Job {
@Override
//把要执行的操作,写在execute方法中
public void execute(JobExecutionContext arg0) throws JobExecutionException {
DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
System.out.println("测试Quartz"+ df.format(Calendar.getInstance().getTime()));
}
}
Main:
package com.qhong; import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Calendar; public class Main {
public static void main(String[] args) { DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
System.out.println("开始时间:"+ df.format(Calendar.getInstance().getTime())); //通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
// 通过schedulerFactory获取一个调度器
scheduler = schedulerfactory.getScheduler(); // 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "jgroup1").build(); // 定义调度触发规则 // 使用simpleTrigger规则
// Trigger trigger=TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
// .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8))
// .startNow().build();
// 使用cornTrigger规则 每天10点42分
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
.withSchedule(CronScheduleBuilder.cronSchedule("0/15 * * * * ? *"))
.startNow().build(); // 把作业和触发器注册到任务调度中
scheduler.scheduleJob(job, trigger); // 启动调度
scheduler.start(); } catch (Exception e) {
e.printStackTrace();
}
}
}
Result:
开始时间:2017-03-14 15:12:53:516
测试Quartz2017-03-14 15:13:00:005
测试Quartz2017-03-14 15:13:15:001
测试Quartz2017-03-14 15:13:30:002
测试Quartz2017-03-14 15:13:45:049
测试Quartz2017-03-14 15:14:00:008
测试Quartz2017-03-14 15:14:15:001
测试Quartz2017-03-14 15:14:30:008
测试Quartz2017-03-14 15:14:45:005
测试Quartz2017-03-14 15:15:00:002
测试Quartz2017-03-14 15:15:15:000
http://www.cnblogs.com/jiaoyiping/archive/2013/05/20/3088092.html
http://blog.csdn.net/yuebinghaoyuan/article/details/9045471
http://www.cnblogs.com/yelongsan/p/6373778.html
Java Quartz用法的更多相关文章
- java Quartz定时器任务与Spring task定时的几种实现,
java Quartz定时器任务与Spring task定时的几种实现 基于java 的定时任务实现, Quartz 时间详细配置 请查阅 http://www.cnblogs.com/si ...
- 【转】java list用法示例详解
转自:http://www.jb51.net/article/45660.htm java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对java list用法做了详解. Lis ...
- Java List 用法代码分析 非常详细
Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3 ...
- Java split用法
Java split用法 java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separat ...
- linux 下部署 java quartz job
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- Java Enum用法详解
Java Enum用法详解 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举 ...
- Java 习惯用法总结
转自:http://www.importnew.com/15605.html 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » Java 习惯用法总结 2015/04/ ...
- 你真的了解java的lambda吗?- java lambda用法与源码分析
你真的了解java的lambda吗?- java lambda用法与源码分析 转载请注明来源:cmlanche.com 用法 示例:最普遍的一个例子,执行一个线程 new Thread(() -> ...
- Java&Quartz实现任务调度
目录 Java&Quartz实现任务调度 1.Quartz的作用 2.预备 3.Quartz核心 3.1.Job接口 3.2.JobDetail类 3.3 JobExecutionContex ...
随机推荐
- mysql添加federated引擎实现dblink远程表访问
查看mysql数据库federated引擎是否开启. show engines; 若没有开启federated则在mysql配置文件my.cnf中mysqld中添加federated. 在远程数据库中 ...
- FZU 2098 刻苦的小芳(卡特兰数,动态规划)
Problem 2098 刻苦的小芳 Accept: 42 Submit: 70 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Descr ...
- beans有无状态
Spring Bean Scopes https://www.tutorialspoint.com/spring/spring_bean_scopes.htm When defining a < ...
- JSON_CONTAINS
select * from tb where info->'$.name' = '特价促销' or JSON_CONTAINS(info->'$[*].name', '" ...
- Django之urls.py详解
urls.py:URL分发器(路由配置文件)URL配置(URLconf)就像是Django所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表.你就是以这种方式告诉Dj ...
- Farthest Nodes in a Tree ---LightOj1094(树的直径)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1094 Given a tree (a connected graph with no ...
- Python开发【Django】:缓存、信号
缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache ...
- SSL默认端口时,用http://ip:port/访问出错(转)
add by zhj: 其实就是保证https访问的port与服务器监听的port是同一port 原文:http://blog.csdn.net/ikmb/article/details/386370 ...
- docker网络部分源码分析
daemon初始化network controller daemon的配置,网络部分的内容在cmd/dockerd/config_common_unix.go中指定,默认设置一般都为空 // daem ...
- 【Python+Selenium】猪猪练习成功版:csv文件的输入和输出(运行环境:python3.5版本)
自己实践成功的从csv文件中读取用户名密码并实际登录系统后判断是否登录成功,并将已经运行的用户名密码及运行结果输出到一个新的csv文件中~ # coding=utf-8 from selenium i ...