为了账号安全,请及时绑定邮箱和手机立即绑定
  • 2-3、浅谈JobExecutionContext:

    一、JobExecutionContext是什么:

        1、当Scheduler调用一个Job,就会将JobExecutionContext传递给Job的execute();

        2、Job能通过JobExecutionContext对象访问到Quartz运行时的环境和Job本身的明细数据。

    二、JobDataMap是什么:

        1、在进行任务调度时JobDataMap存储在JobExecutionContext中非常方便获取。

        2、JobDataMap可以用来装载任何可序列化的数据对象,当job实例对象被执行时这些参数对象会传递给它。

        3、JobDataMap实现了JDK的Map接口,并且添加了一些非常方便的方法用来存储基本数据类型。

    三、获取JobDataMap的两种方式:

        1、从Map中直接获取;

        2、在Job实现类中添加setter方法对应对应JobDataMap的键值(Quartz框架默认的JobFactory实现类在初始化job实例对象时会自动的调用这些setter方法);

    查看全部
  • 课程代码:https://gitee.com/xxg3053/quartz
    查看全部
  • calender用于排除
    查看全部
    2 采集 收起 来源:初识Quartz

    2017-10-08

  • shutdown参数为true时,scheduler等所有任务执行完毕,阻塞关闭。shutdown参数为false时,scheduler不等待任务结束,立刻关闭,但不影响已存在任务的执行。任务的每个间隔均创建一个线程,standby时,线程依旧在产生,只是全部被阻塞。
    查看全部
    2 采集 收起 来源:浅谈Scheduler

    2017-09-11

  • Scheduler:通过工厂模式创建的,如图,SchedulerFactory的实现类有两个,常用的是StdSchedulerFactory。

    http://img1.sycdn.imooc.com//5e11495100014b2810150596.jpg

    Job和Trigger的关系:如图。

    http://img1.sycdn.imooc.com//5e1149df00011deb09990602.jpg

    Scheduler的创建方式:如图。

    http://img1.sycdn.imooc.com//5e114a310001721009620589.jpg


    接下来主要讲解StdSchedulerFactory,因为DirectSchedulerFactory的参数都需要代码去实现的(开发中提倡声明式配置,就是在配置文件中进行配置,例如xml中等)。

    StdSchedulerFactory:使用一组参数(Java.util.Properties)来创建和初始化Quartz调度器,其中这组参数就包括了指定后台运行Quartz的线程数。还有Job的信息存储在何种介质中(例如内存中、或者数数据库中),配置参数一般存储在quartz.properties中。StdSchedulerFactory通过getScheduler犯法来创建和初始化调度器对象。

    http://img1.sycdn.imooc.com//5e114be4000171d809890616.jpg

    Scheduler的主要函数:

    Date scheduleJob(JobDetail jobDetail,Trigger trigger):绑定JobDetail和Trigger,将其注入到Scheduler,其中返回的Date表示即将执行的最近一次的执行时间,如图。

    http://img1.sycdn.imooc.com//5e114da30001123511200753.jpg

    void start():它是用来启动Scheduler调度器,指定定时任务的。

    void standby():Scheduler暂时挂起,暂停工作。停止之后可以再通过start方法重新启动。

    void shutdown():关闭调度器,不可以重新启动了。

    注意:shutdown支持传入一个布尔类型的参数,如果传入的为true,就表示等待所有正在执行j的job执行完毕后,再进行关闭scheduler。如果传入的false,那么就和无参数一样,表示直接关闭scheduler。

    http://img1.sycdn.imooc.com//5e1151f80001fe0208150163.jpg

    举例:shutdown(true),如图。

    http://img1.sycdn.imooc.com//5e115818000180a012660904.jpg

    http://img1.sycdn.imooc.com//5e1158240001b9f009950537.jpg


    查看全部
    1 采集 收起 来源:浅谈Scheduler

    2020-01-05

  • CronTrigger的作用:基于日历的触发器,而不是像SimpleTrigger精确到指定间隔时间,它比SimpleTrigger更常用(例如:每月的1号执行定时任务,这是SimpleTrigger实现不了的)。

    Cron表达式:CronTrigger是基于Cron表达式实现的,如图。

    http://img1.sycdn.imooc.com//5e1077c80001631109280437.jpg

    举例:通过CronTrigger实现每秒钟实现一次定时任务。

    http://img1.sycdn.imooc.com//5e1079be00010a6009630517.jpg

    http://img1.sycdn.imooc.com//5e1079c70001c09908800438.jpg

    http://img1.sycdn.imooc.com//5e1079d00001210708220250.jpg

    Cron表达式:使用规则如下图(","表示或的意思,"-"表示至的意思,"*”表示所有的意思,"/"表示每的意思,"?"表示任意的意思,“#”表示第的意思。

    http://img1.sycdn.imooc.com//5e107aac0001fb3b10270561.jpg

    Cron表达式举例:如图。

    http://img1.sycdn.imooc.com//5e1080490001f45a10610536.jpg

    注意:
    日和周不能是同一个值(不能同时是*或者?)
    月和周的英文不区分大小写, 
    周X是(X+1),周日是1

    作业:

    http://img1.sycdn.imooc.com//5e1087c40001fb8c08830188.jpg

    http://img1.sycdn.imooc.com//5e10885400013fd410130631.jpg

    http://img1.sycdn.imooc.com//5e1088930001595009490579.jpg

    http://img1.sycdn.imooc.com//5e1148640001306409790381.jpg

    查看全部
    1 采集 收起 来源:CronTrigger

    2020-01-05

  • Job接口:实现业务逻辑的任务接口,实现该接口需要实现execute方法,该方法类似于TimerTask的run方法。JobExecutionContext参数是Job执行的上下文,其中在该参数中有一个JobDataMap,它包含了输入的参数。

    注意:execute方法声明抛出了一个异常,如果任务执行失败,我们可以通过捕获该异常来处理。避免了Timer的全崩式失败。

    http://img1.sycdn.imooc.com//5e085d12000142d509230335.jpg

    Job在Quartz的生命周期:每次Scheduler执行Job时,它在调用execute方法前会根据JobDetail提供的类型创建一个Job实例。当该任务执行完毕后,会丢弃该Job实例,并且释放的实例会被垃圾回收机制回收。

    JobDetail接口:JobDetail为Job实例提供了许多设置属性,以及JobDataMap成员变量属性,它用来存储特定Job实例的状态信息,Scheduler需要借助JobDetail对象来添加Job实例。

    Job的重要属性:

    name:任务的名称,它在JobDetail中是必须项。

    group:任务所在组,默认值是大写的DEFAULT,它也是必须项。

    jobClass:JobDetail传入任务的类类型,它也是必须项。

    jobDataMap:它用来传参的作用。

    http://img1.sycdn.imooc.com//5e08616a00019ae510360909.jpg

    使用场景:例如,输出日志,输出执行的任务所在路径就可以通过getClass()。

    查看全部
    1 采集 收起 来源:浅谈Job&JobDetail

    2019-12-29

  • AnotherBean类

    查看全部
  • Tomcat 乱码处理!

    查看全部
  • Trigger触发器通用属性: 1.JobKey:表示Job实例的标识,触发器被触发时,该指定的job实例会执行。 2.StartTime:表示触发器的时间表首次被触发的时间。它的值的类型是Java.util.Date. 3.endTime:指定触发器的不再被触发的时间。它的值的类型是Java.util.Date
    查看全部
    1 采集 收起 来源:浅谈Trigger

    2017-10-28

  • jobkey,starttime (startAt) endtime(endAt)
    查看全部
    1 采集 收起 来源:浅谈Trigger

    2017-10-20

  • 凄凄切切
    查看全部
  • start();           开启

    standby();      挂起,可以使用start()再次开启

    shutdown();   完全关闭scheduler,不可以被start()所开启

    查看全部
    0 采集 收起 来源:浅谈Scheduler

    2021-04-22

  • 调度器:Scheduler

    任务:Job和JobDetail

    触发器:Trigger

    查看全部
    0 采集 收起 来源:浅谈Scheduler

    2021-04-22

  • 通配符说明

    查看全部
    0 采集 收起 来源:CronTrigger

    2021-04-22

首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
建议先学习本课程的前置课程Timer篇: http://www.imooc.com/learn/841
老师告诉你能学到什么?
什么是Quartz,Quartz如何用,如何与Spring合为一体

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!