Quartz整合

Quartz运行环境
    1.Quartz可以运行嵌入在另一个独立式应用程序
    2.Quartz可以在应用程序服务器(或servlet容器)内被实例化,并且参与事务
    3.Quartz可以作为一个独立的程序运行(其自己的Java虚拟机内),可以通过RMI使用
    4.Quartz可以被实例化,作为独立的项目集群(负载均衡和故障转移功能),用于作业的执行

Quartz设计模式
    1.Builder模式
    2.Factory模式
    3.组件模式
    4.链式编程

Quartz学习的核心概念
    1.任务job
        job就是你想要实现的任务类,每一个job必须实现org.quartz.job接口,且只能实现接口定义的execute()方法。
    2.触发器Trigger
        Trigger为你执行任务的触发器,比如你想每天定时3点发送一份统计邮件,Trigger将会设置3点进行执行任务。
        Trigger主要包含俩种SimpleTrigger和CronTrigger俩种。
    3.调度器Scheduler
        Scheduler为任务的调度器,它将会任务job及触发器Trigger整合起来,负责基于Trigger设定的时间来执行job

Quartz的几个常用API
    1.Scheduler用于与调度程序交互的主程序接口。
        Scheduler调度程序任务执行计划表,只有安排进行执行计划的任务job(通过sheduler.schedulerjob)方法安排进执行计划,当它预先定义的执行时间到了的时候(任务触发trigger),改任务才会执行。
    2.job我们预先定义的希望在未来时间能被调度程序执行的任务类,我们可以自定义。
    3.jobDetail使用jobDetail来定义定时任务的实例,jobDetail实例是通过jobBuilder类创建的。
    4.jobDataMap可以包含不限量的(序列化)数据对象,在job实例执行的时候,可以使用其中的数据;jobDataMap时候Java     Map接口的一个实现,额外增加了一些便于存取基本类型的数据的方法。
    5.Trigger触发器,Trigger对象是用来触发执行job的。当调度一个job时,我们实例一个触发器然后调整它的属性来满足job执行的条件。表明任务在什么时候会执行。定义了一个已经被安排的任务将会在什么时候执行的时间条件,比如每2秒就执行一次。
    6.jobBuilder用于声明一个任务实例,也可以定义关于该任务的详情比如任务名、组名等,这个声明的实例将会作为一个实际执行的任务。
    7.TriggerBuilder触发器创建器,用于创建触发器的trigger实例。
    8.jobListener、TriggerListener、SchedulerListener监听,用于对组件的监听

Quartz简单入门
    1.建立任务类,进行任务,这个类得实现Job接口,实现execute方法,在execute方法里面进行任务处理
    2.创建任务调度器Scheduler(StdSchedulerFactory.getDefaultScheduler)
    3.创建任务实例JobDetail jobDetail = JobBuiler.newJob(任务类.class).withIdentity("任务名称","任务分组").build();
    4.创建触发器 SimpleTrigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("trigger1", "group1")//参数1:触发器名称唯一实例) 参数2:触发器组名和任务组名没有关系
                .startNow()//马上启动
                //.startAt() 设置多久启动
                .withSchedule(SimpleScheduleBuilder.simpleSchedule().repeatSecondlyForever(1))//设置每隔多少秒进行任务调度
                .build();
        5.让调度器关联任务和触发器,保证按照触发器定义的条件执行任务scheduler.scheduleJob(jobDetailo, trigger);
        6.启动scheduler.start();

Job和JobDetail介绍
    1.Job:工作任务调度的接口,任务类需要实现该接口,该接口中定义execute方法,类似JDK提供的TiemTask类的run方法,在里面编写任务执行的业务逻辑。
    2.J

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值