Quartz.Net学习笔记(2)-简介
一、Quartz.Net是什么
1.来源
Quartz.Net是一个开源的作业调度框架;
2.下载地址
官网地址:http://www.quartz-scheduler.net/documentation/index.html
源码地址:https://sourceforge.net/projects/quartznet/
二、Quartz.Net能干什么
定时轮询数据库同步,定时邮件通知
三、Quartz.Net中的设计模式
1.Builder模式
所有关键组件都由Builder模式来构建<Builder>。如:JobBuilder,TriggerBuilder
2.Factory模式
最终由Scheduler来进行组合各种组件<Factory>。如SchedulerFactory
3.Component模式
Quartz.Net项目中大量使用组件模式,插件式设计,可插拔,耦合性低,易扩展,开发者可自行定义自己的Job,Trigger等组件
4.链式编程
与jQuery的写法相似
四、几个重要的类型
1.SchedulerFactory(调度程序工厂)
(1)StdSchedulerFactory
Quartz.Net默认的SchedulerFactory
(2)DirectSchedulerFactory
是对SchedulerFactory的直接实现,通过它可以直接构建Scheduler,ThreadPool
2.IJobExecutionContext(Job上下文)
Job上下文,保存着Trigger,JobDetail等信息
3.Scheduler(调度器)
(1)StdScheduler
Quartz.Net默认的Scheduler
(2)RemoteScheduler
带有RMI功能的Scheduler
4.Job(任务对象)
(1)JobDetail
它是实现轮询的一个回调类,可将参数封装成JobDataMap对象,Quartz.Net将任务的作业状态保存在JobDeta中
(2)JobDataMap
JobDataMap用来报错由JobDetail传递过来的任务实例对象
5.Trigger
(1)SimpleTrigger
普通的Trigger,对应调度器SimpleScheduleBuilder
(2)CronTrigger
带Cron Like表达式的Trigger,对应调度器CronScheduleBuilder
(3)CalendarIntervalTrigger
带日期触发的Trigger,对应调度器CalendarIntervalScheduleBuilder
(4)DailyTimeIntervalTrigger
按天触发的Trigger,对应调度器DailyTimeIntervalScheduleBuilder
6.ThreadPool
为Quartz运行任务时提供了一些线程
(1)SimpleThreadPool
一个Quartz默认实现的简单线程池,它能够应答大部分常用场景
五、参考文章
http://blog.csdn.net/chenweitang123/article/details/37777399
Quartz.Net学习笔记(2)-简介的更多相关文章
- Linux内核学习笔记-1.简介和入门
原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...
- React学习笔记 - JSX简介
React Learn Note 2 React学习笔记(二) 标签(空格分隔): React JavaScript 一.JSX简介 像const element = <h1>Hello ...
- CUBRID学习笔记 1 简介 cubrid教程
CUBRID 是一个全面开源,且完全免费的关系数据库管理系统.CUBRID为高效执行Web应用进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务.通过提供独特的最优化特性,CUBRID可 ...
- Quartz.NET学习笔记(一) 简介
Quartz.NET是一款开源的任务调度框架,他是由Java中的任务调度框架Quartz移植而来的.官方网站https://www.quartz-scheduler.net/. Quartz.Net的 ...
- shiro学习笔记_0100_shiro简介
前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro.此笔记是根据网上的视频教程记 ...
- Mybatis-Plus 实战完整学习笔记(一)------简介
第一章 简介 1. 什么是MybatisPlus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只 ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
- python学习笔记1--python简介和第一行代码编写
一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...
- symfony学习笔记1—简介
1.symfony快速入门还是先看代码结构把,这个是拿到代码的第一印象,app/:整个应用的配置,模版,translations,这个可能是多语言文件什么,src/:项目php文件,vendor/:第 ...
随机推荐
- 在windows下安装Django
2013-07-24 21:23:30| 1.安装Python 我安装的是Python(x,y)-2.7.5.0,安装目录在C盘.安装成功后如下图所示. 2.安装Django 从https://w ...
- Java电商项目-6.实现门户首页数据展示_Redis数据缓存
目录 项目的Github地址 需求介绍 搭建Redis集群环境 下面先描述单机版redis的安装 下面将进行Redis3主3从集群环境搭建 基于SOA架构, 创建门户ashop-portal-web门 ...
- select语句中会影响查询效率的因素
1.没有创建索引,或者没有正确使用索引;2.存在死锁的情况,从而导致select语句挂起; 3.返回不必要的列,如很多人喜欢在程序中使用select * from 这样会查询表或视图中的所有字段,如果 ...
- json序列化后的是字符串,不是二进制。是字符串!!!确定不是二进制!!!
1.现有一个自定义对象需要储存到sql数据库中去.这个对象里面属性很多,甚至包含一些元素量打到几十万的List集合属性.本人试着使用JSON序列化这个对象,储存到数据库,报maxjsonlength超 ...
- c++11中的线程、锁和条件变量
void func(int i, double d, const string& s) { cout << i << ", " << d ...
- web开发常见性能优化方式
经常使用的高并发. 高性能web,数据库server. 1.html 静态化 : 如新闻频道更新的非常快,都是通过cms静态生成(门户,信息公布类型的站点,交互性高的如猫扑的大杂烩也是静态化,实时静 ...
- Android Studio签名打包应用
转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50812391 可直接看看以下的Android Studio中签名应用 Android要 ...
- CI 知识 :Git介绍及常用操作
Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...
- python开发【第1篇】【基础知识】
1.python解释执行原理 python代码——字节码——机器码——计算机 每次运行都要进行转换成字节码,然后再有虚拟机把字节码转换成机器语言,最后才能在硬件上运行. 2.python编码 unic ...
- extern "C" 的含义:实现C++与C及其他语言的混合编程
C++中extern "C"的设立动机是实现C++与C及其他语言的混合编程. C++为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同.对于函数void ...