`
v若离v
  • 浏览: 13531 次
社区版块
存档分类
最新评论

对Quartz的简单封装

    博客分类:
  • Java
阅读更多
  1. 前言

    Quartz是当下使用最多的作业调度框架,它提供了巨大的灵活性而不牺牲简单,你能够用它来为执行一个作业而创建简单的或复杂的调度
  2. 封装目的

    简单的封装使Quartz更加好用,使调度本身与业务分离,耦合程度更低,使编码人员只需要关注自己的业务实现而不用关注调度本身。
    由于定时调度实现的具体业务逻辑未知,比如同步人员或组织,报表统计等,不可预知的资源消耗对性能的影响及跑挂的风险,为了不影响主程序,推荐单独一个工程独立运行
  3. 实现效果

    对原有的Job接口进行了再一次封装,添加了新的接口IJob,实现用最少的代码实现作业的配置,系统的监听会随着服务一起启动,自动扫描到这个类,自动根据配置信息,生成作业并自动调度,代码如下:
    package job;
    import java.util.Date;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import coreJob.IJob;
    import coreJob.JobInfo;
    /**
     * 调度任务简要示例
     * @author Ruoli
     * 2015/07/11
     */
    public class MyJob implements IJob {
    	public JobInfo setJobInfo() {
    		JobInfo job=new JobInfo();
    		job.setJobGroup("MyJobGroup");//设置任务分组
    		job.setJobName("自定义同步调度");//设置任务名称
    		job.setStartTime(new Date()); //设置任务开始时间
    		job.setTriggerType(1);//设置任务执行计划
    		                      //1:每分钟执行一次,
    		                      //2:每小时执行一次,
    		                      //3:每天执行一次,
    		                      //0:使用cron表达式执行,使用此项时cron表达式必填。
    		//job.setCron("0 0/5 14 * * ?");s
    		//job.setCronDescription("在每天下午2点到下午2:55期间的每5分钟触发");
    		return job; 
    	}
    	public void execute(JobExecutionContext arg0) throws JobExecutionException {
    		System.out.println(System.currentTimeMillis());
    		
    	}
    }
     

  4. 任务监控

    为了更好的监控查看已有的作业,并对作业进行有效的控制,比如暂停,恢复,立即执行等,实现了任务监控管理功能,如下图:
    任务运行状态
  5. 下载代码

    提供源码下载
分享到:
评论

相关推荐

    Quartz3.0.7简单封装

    https://blog.csdn.net/qq_34719168/article/details/106422975 博文内的代码

    quartz封装

    以下是对Quartz及其封装的详细说明: 1. **Quartz简介** - Quartz是一个完全由Java编写的、基于JDBC的作业调度库,它能够在Java应用中实现精确的定时任务调度。 - 它支持 cron 表达式、简单计划器以及自定义调度...

    quartz的简单封装

    quartztool.rar QUARTZ封装

    博客文章 "http://blog.csdn.net/keyboardsun/archive/2009/07/09/4335333.aspx" 提到了对 Quartz 的简单封装,这可能包括创建易于使用的接口或类,使得调度任务的配置和管理变得更加直观。在实际应用中,这样的封装...

    quartz简单案例

    Spring对Quartz的封装简化了这个过程。我们可以使用`@Configuration`和`@EnableScheduling`注解开启定时任务支持,然后创建一个`@Component`的Job类,利用`@DisallowConcurrentExecution`确保同一时间只有一个实例...

    quartz简单实例quartz简单实例

    2. **JobDetail**:它是对 Job 的进一步封装,包含了 Job 的一些元数据,如名称、分组等。 3. **Trigger**:定义了 Job 的触发机制。Quartz 支持多种类型的 Trigger,如 `SimpleTrigger`、`CronTrigger` 等。每个 ...

    quartz界面化持久化管理

    【标题】:Quartz界面化...通过上述知识点,我们可以实现对Quartz作业的界面化、持久化管理,提升系统的可维护性和易用性。在实际应用中,应结合项目需求灵活调整和扩展Quartz的功能,确保任务调度的稳定性和高效性。

    Quartz简单Demo

    这个"Quartz简单Demo"是为了展示如何在实际项目中使用Quartz,包括了如何设置数据库表、管理Job(任务)以及控制任务的执行状态。下面将详细阐述Quartz的核心概念和这个Demo的实现步骤。 1. **Quartz核心概念** - ...

    spring的quartz使用实例

    - 简化配置:Spring通过`org.springframework.scheduling.quartz`包提供了对Quartz的封装,使得配置和管理Job、Trigger变得更加简洁。 - AOP支持:Spring能够利用其AOP(面向切面编程)能力,为Job提供事务管理和...

    quartz+spring分布式集群调度

    Spring通过提供QuartzJobBean和MethodInvokingJobDetailFactoryBean等类,使得将Quartz作业与Spring Bean相结合变得简单。我们可以将业务逻辑封装在Spring Bean中,然后通过QuartzJobBean来调用这个Bean的方法,实现...

    定时器quartz API文档

    Quartz提供了多种Trigger类型,如SimpleTrigger(简单触发器)和CronTrigger(基于CRON表达式的触发器)。简单触发器可以设置重复执行的间隔,而CronTrigger则允许你用类似Linux CRON语法定义复杂的调度规则。 3. *...

    spring quartz 相关文档

    Spring Quartz将Quartz与Spring框架无缝集成,使得配置和管理定时任务变得更加简单。 ### Spring Quartz 的核心概念 1. **Job**:这是执行任务的基本单元,代表了一个可执行的工作。Job接口有一个execute方法,当...

    Quartz新版的jar包

    标题提到的"Quartz新版的jar包"可能指的是Quartz的最新稳定版本,这通常会包含对旧版本的改进、新功能的添加以及bug的修复。 SSH(Struts + Spring + Hibernate)是一个常见的Java Web开发框架组合,用于构建高效、...

    C#实现quartz.net3.0.7和topshelf4.2.1创建windows服务

    在版本3.0.7中,quartz.net保持了其易用性和灵活性,同时提供了一些新特性,例如对.NET Core的支持和性能优化。 在C#项目中集成quartz.net,你需要首先添加quartz.net的NuGet包。接着,定义作业(Job)类,这个类是...

    quartz所需jar包

    - **JobDetail**:JobDetail对象封装了Job类的信息,包括Job的类名、数据绑定等。 - **TriggerDetail**:TriggerDetail对象包含了关于Trigger的所有信息,如触发时间、重复规则等。 在实际应用中,开发者会定义Job...

    定时器Quartz.net2.0内置操作类

    `QuartzManager.cs`可能是一个封装了Quartz.NET操作的类,用于方便地启动、停止调度器,以及添加、删除任务和触发器。 `C5.dll`是一个泛型集合库,可能是Quartz.NET为了支持更高效的数据结构而引入的依赖,例如存储...

    quartznet-master.zip

    这个"quartznet-master.zip"文件包含的是Quartz.NET的源代码仓库,让你能够深入理解其内部工作原理并对其进行定制,以满足特定的定时任务需求。 Quartz.NET的核心概念包括作业(Jobs)、触发器(Triggers)和调度器...

    Quartz_API_1.65.zip_Quartz API_Quartz a_quartz 1.6.3 api_quartz

    Quartz提供了多种Trigger类型,包括SimpleTrigger(简单触发器)和CronTrigger(cron触发器)。SimpleTrigger允许你设置精确的间隔和重复次数,而CronTrigger则允许你使用类似Unix cron表达式的方式来定义复杂的调度...

    quartz_jar

    开发者需要创建实现`org.quartz.Job`接口的类,然后将具体的操作封装在这个类的`execute()`方法中。 2. **Trigger**:触发器,定义了任务何时开始以及如何重复。常见的触发器类型有SimpleTrigger(简单触发器)和...

Global site tag (gtag.js) - Google Analytics