java Quartz任务调度器

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的集群调度解决方案

    

 

     

 

转载于:https://www.cnblogs.com/kimobolo/p/7061155.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值