1、quartz主要用到的设计模式:Builder模式、Factory模式、组件模式、链式写法。
2、Scheduler调度器的主要函数:
- Date schedulerJob(JobDetail jobDetail,Trigger trigger)返回的是最近一次调度任务的时间点;
- void start() 启动调度器;
- void standBy() 该任务暂时挂起,重新调用start(),就会被重新执行;
- void shutdown() 停止任务调度,是不能呗2重启的,否则会抛出异常;
shutdown(true)表示等待所有正在执行的job执行完毕后,再关闭scheduler
shutdown(false)即shutdown()表示直接关闭scheduler
3、quartz.properties 是quartz的配置文件,quartz的jar里面有一份自带的文件,若我们所创建的项目里面也有该配置文件,那么就会被优先读取。
########################################## 调度器属性 ################################################### # 用来区分特定的调度器实例,可以按功能用途来给调度器起名。 org.quartz.scheduler.instanceName: DefaultQuartzScheduler # 和前者一样,也允许任何字符串,但是这个值必须是在所有调度器实例中是唯一的,尤其是在一个集群中,作为集群的唯一key, # 加入想Quartz帮你生成这个值的话,可以设置为AUTO。(上面的配置代码中没有id是因为我们只有一个调度器,不是集群的所以 # 不需要设置) org.quartz.scheduler.instanceId # 如果希望Quartz Scheduler通过RMI作为服务器导出本身,则将"rmi.export"标志设置为true。 org.quartz.scheduler.rmi.export: false # 如果要连接(使用)远程服务的调度程序,则将“org.quartz.scheduler.rmi.proxy”标志设置为true。您还必须指定RMI注册 # 表进程的主机和端口 - 通常是“localhost”端口1099。 org.quartz.scheduler.rmi.proxy: false org.quartz.scheduler.wrapJobExecutionInUserTransaction: false ########################################## 调度器属性 ################################################### ########################################## 线程池属性 ################################################### # 线程池实现类(一般使用SimpleThreadPool即可满足几乎所有的用户需求) org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool # 指定线程数,至少为1(无默认值)一般设置为1-100的整数 org.quartz.threadPool.threadCount: 10 # 设置线程的优先级(最大为10,最小为) org.quartz.threadPool.threadPriority: 5 # 设置是否为守护线程 org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true ########################################## 线程池属性 ################################################### org.quartz.jobStore.misfireThreshold: 60000 # 任务调度的存储方式:ram和jdbc,一般用的是ram多,此处就设置为RAM org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore
注:在同一个配置文件中为'org.quartz.scheduler.rmi.export'和'org.quartz.scheduler.rmi.proxy'指定一个'true'值是没有意义的 - 如果你这样做,'export '选项将被忽略。如果您没有通过RMI使用Quartz,则“export”和“proxy”属性的值“false”当然是有效的。
参考文献:W3Cschool