quartz 立即执行+定时+防止并发+监听Job是否运行状态
来源:互联网 发布:中企动力后台源码 编辑:程序博客网 时间:2024/05/26 22:57
这文章没有新手教程,只有个人一些笔记,新手请下载附件教程:
SimpleRun:
package cn.wa8.qweb.extract.quartz;import java.util.Date;import org.quartz.CronTrigger;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.SchedulerFactory;import org.quartz.SimpleTrigger;import org.quartz.Trigger;import org.quartz.impl.StdScheduler;import org.quartz.impl.StdSchedulerFactory;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.ApplicationContext;import org.springframework.scheduling.quartz.SchedulerFactoryBean;import cn.wa8.qweb.extract.action.Extract2DB;public class SimpleRun {private static Logger log = LoggerFactory.getLogger(SimpleRun.class);public void run() throws Exception {SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); JobDetail jobDetail = new JobDetail("myJob",null,SimpleJob.class); SimpleTrigger trigger = new SimpleTrigger("myTrigger", null, new Date(), null, SimpleTrigger.REPEAT_INDEFINITELY, 30L * 1000L); sched.scheduleJob(jobDetail, trigger); //sched.addJobListener(new MyTriggerListener()); SimpleJob.preDate = new Date(); sched.start(); System.out.println("starting"); /** * state的值代表该任务触发器的状态:STATE_BLOCKED 4 // 运行STATE_COMPLETE 2 //完成那一刻,不过一般不用这个判断Job状态STATE_ERROR 3 // 错误STATE_NONE -1//未知STATE_NORMAL 0 //正常无任务,用这个判断Job是否在运行STATE_PAUSED 1//暂停状态 */ while (true){ if(4 == sched.getTriggerState("myTrigger", null)){ System.out.println("running"); }else if(0 == sched.getTriggerState("myTrigger", null)){ System.out.println("ending"); }else { System.out.println("error state:"+sched.getTriggerState("myTrigger", null)); } try {Thread.sleep(5*1000);} catch (Exception e) {// TODO: handle exception} }}public static void main(String[] args) {SimpleRun simpleRun = new SimpleRun();try {simpleRun.run();} catch (Exception e) {e.printStackTrace();}}}
Simple Job:
import java.util.Date;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import cn.wa8.qweb.extract.action.Extract2DB;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.quartz.StatefulJob;/*Extract2DB extract2db = new Extract2DB();extract2db.CommonBaseExtract();*/public class SimpleJob implements StatefulJob{public static Date preDate ;public void execute(JobExecutionContext arg0) throws JobExecutionException {System.out.println("into Job");Date currentDate = new Date();Long s = (currentDate.getTime()-preDate.getTime())/1000;try {Thread.sleep(10*1000);} catch (Exception e) {e.printStackTrace();}System.out.println(s);System.out.println("leave Job:"+Thread.currentThread().toString());preDate =currentDate;}}
0 1
- quartz 立即执行+定时+防止并发+监听Job是否运行状态
- java定时执行job 非quartz
- quartz中设置Job不并发执行
- 得到quartz中Job的执行状态
- 获取Quartz中Job的执行状态
- Elastic-Job作业运行状态监听
- Quartz立即执行
- quartz(三):利用quartz定时执行运行环境检测
- quartz-定时任务-设置job顺序执行,上一次job执行完成后,再执行下一次job
- quartz调度如何立即执行
- oracle job 定时,启动,停止,察看状态。运行脚本
- oracle job 定时,启动,停止,察看状态。运行脚本
- oracle job 定时,启动,停止,察看状态。运行脚本
- oracle job 定时,启动,停止,察看状态。运行脚本
- oracle job定时执行
- quartz job concurrent 并发设置
- Quartz定时执行程序
- oracle 定时执行任务-job
- 10、json for in
- 异或运算的简单理解
- yii框架下使用redis
- 工具的使用 —— windows 实用工具
- 总结Verilog中always语句的使用
- quartz 立即执行+定时+防止并发+监听Job是否运行状态
- 一个程序员的陪产经历--写在宝宝百日之际
- VMware虚拟机12版本装Ubuntu系统16.04版本上不了网 解决办法
- linux下的C语言开发(线程等待)
- JSP——JSTL核心标签(1)
- Agri-Net_usaco3.1.1_poj1258_最小生成树
- 澳门大学之波尔图大学交换
- Linux内核编译
- JDK安装、配置+AS下载