1、quarz对java1.5实现的简单调度做了封装

/**
     * quartz对任务调度进了高度抽象: 1调度器;2任务;3触发器
     * Job接口(任务):定义需要调度的任务
     * JobDetail(任务实例):Job在创建时,不是直接接受一个job实例,而是接受一个job实现类, jobdetail实现了这一个角色
     * Trigger:触发器
     * Calendar:更仔细的触发器
     * Scheduler:Quartz运行容器,任务和触发器可以注册到容器中
     * ThreadPool:容器通过一个共享线程池,提高运行效率
     *
     * @param args
     */

2、简单实现

  

package java_source_codes_quartz;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.JobDetailImpl;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.triggers.SimpleTriggerImpl; public class SimpleTriggerRunner {
public static void main(String[] args) throws SchedulerException {
//创建一个jobdetail实例
JobDetail jobDetail = new JobDetailImpl("job1_1","jgroup1", SimpleJob.class);
//创建一个触发器实例
//还有更详细的触发器:CronTrigger
SimpleTrigger simpleTrigger = new SimpleTriggerImpl("tigger1_1", "tgroup1"); SchedulerFactory schFactory = new StdSchedulerFactory();
Scheduler scheduler = schFactory.getScheduler();
scheduler.scheduleJob(jobDetail, simpleTrigger);
scheduler.start(); } }
package java_source_codes_quartz;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; public class SimpleJob implements Job { public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
System.out.println(arg0.getTrigger().getCalendarName());
System.out.println(arg0.getJobRunTime());
System.out.println(arg0.getFireInstanceId());
System.out.println(arg0.getFireTime());
System.out.println(arg0.getJobDetail());
System.out.println(arg0.toString());
} }

这是一个简单实现,大概知道用quartz怎么去实现一个调度,具体在实际环境中可以用spring的bean实例的初始化做一个lisenter监听时间。实现调度。spring也对quartz做了集成处理,但是本人觉得

写代码不是写配置文件,不是配置文件能解决需要重复造轮子的工作,我一般不会用配置文件。

3、调度器的集群实现方案

1、将调度事件放在一台独立的服务器上,不受集群环境影响

2、实现quartz的集群调度解决方案

java Quartz任务调度器的更多相关文章

  1. 在springboot项目中引入quartz任务调度器。

    quartz是一个非常强大的任务调度器.我们可能使用它来管理我们的项目,常见的是做业绩统计等等.当然它的功能远不止这些.我们在这里不介绍quartz的原理,下面讲讲如何在springboot中使用qu ...

  2. Quartz任务调度器

    在使用jdk的timer时发现无法满足开发需求:即无法在指定的日期进行执行任务. 这便引入一个优秀的开源任务调度框架“quartz”.   这里加入的是quartz-1.8.6版本.Quart的官网: ...

  3. .NET中Quartz任务调度器的简单应用实例

    1.首先从NuGet中安装Quartz,安装最新版本就OK 2.新建一个Job类实现Quart中的IJob接口用于执行业务逻辑,代码如下: class CheckUpdateJob : IJob { ...

  4. Quartz任务调度器及与Spring的整合使用

    参考  点击打开链接

  5. springMVC + quartz实现定时器(任务调度器)

    首先我们要知道任务调度器(定时器)有几种,这边我会写三种 第一种是基于JDK的本身的一个定时器(优点:简单,缺点:满足不了复杂的需求) package com.timer1; import java. ...

  6. 企业级任务调度框架Quartz(6) 任务调度器(Scheduler)

    前序:      我们已经在前面的内容能里看到了,我们用 Scheduler 来管理我们的 Job:创建并关联触发器以使 Job 能被触发执行:以及如可选择 calendar 为给定的时程安排提供更多 ...

  7. Java&Quartz实现任务调度

    目录 Java&Quartz实现任务调度 1.Quartz的作用 2.预备 3.Quartz核心 3.1.Job接口 3.2.JobDetail类 3.3 JobExecutionContex ...

  8. 通过源码分析Java开源任务调度框架Quartz的主要流程

    通过源码分析Java开源任务调度框架Quartz的主要流程 从使用效果.调用链路跟踪.E-R图.循环调度逻辑几个方面分析Quartz. github项目地址: https://github.com/t ...

  9. 从零开始学 Java - Spring 使用 Quartz 任务调度定时器

    生活的味道 睁开眼看一看窗外的阳光,伸一个懒腰,拿起放在床一旁的水白开水,甜甜的味道,晃着尾巴东张西望的猫猫,在窗台上舞蹈.你向生活微笑,生活也向你微笑. 请你不要询问我的未来,这有些可笑.你问我你是 ...

随机推荐

  1. @Data的注解使用以及在IDEA上安装

    平时在开发过程中创建实体类的时候就经常的操作是:先写成员变量,然后再提供getXxx().setXxx()方法,然后看需要再提供toString等方法.这样一来不仅会发现每写一个实体类的话就会有很多相 ...

  2. mybatis学习1

    一.mybatis步骤 1.根据xml配置文件(全局配置文件)创建一个SqlSessionFactory对象 有数据源一些运行环境信息2.sql映射文件:配置了每一个sql,以及sql的封装规则等. ...

  3. 服务器还原阿里云Mysql数据库

    https://www.percona.com/doc/percona-xtrabackup/2.3/installation/yum_repo.html

  4. 机械革命 x7ti-s 1周年使用报告

    2017年11月19日在京东入手一台机械革命x7ti-s(https://item.jd.com/5048818.html)当时各种优惠返现什么的最终8399.5到手(是1060显卡的机械版).前几周 ...

  5. linux tcpdump抓包

    tcpdump 默认抓取第一个网卡的所有数据包 tcpdump -i eth0 指定网卡 tcpdump host 10.10.10.10 指定主机名或ip地址 tcpdump host 10.10. ...

  6. ZigZag Conversion 之字形转换字符串

    1.题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows ...

  7. 安装和使用Docker(Windows7)

    1.Boot2Docker Boot2Docker是实现Docker的软件.Windows下的Docker只适合于开发测试(大部分人也就是干开发测试的..),不适合于生产环境. Boot2Docker ...

  8. selenium IDE安装与使用

    官网介绍: Selenium IDE是一个Firefox插件,它记录并回放用户与浏览器的交互.使用它来创建简单的脚本或者帮助进行探索性测试. 安装流程: 只支持用火狐浏览器安装,可以用火狐浏览器的应用 ...

  9. spring boot 与servlet

    servlet:      基于java的web组件,用于生成动态内容,由容器管理.      类似其他java技术组件,由平台无关的java类组成,并且由java web服务器加载执行   serv ...

  10. Django中的auth模块

    from django.contrib import auth authenticate() 提供了用户认证功能,即验证用户名以及密码是否正确,一般需要username .password两个关键字参 ...