004-Quartz存储与持久化-基于quartz.properties的配置
一、概述
Quartz提供两种基本作业存储类型。第一种类型叫做RAMJobStore,第二种类型叫做JDBC作业存储。在默认情况下Quartz将任务调度的运行信息保存在内存中,这种方法提供了最佳的性能,因为内存中数据访问最快。不足之处是缺乏数据的持久性,当程序路途停止或系统崩溃时,所有运行的信息都会丢失。
比如我们希望安排一个执行100次的任务,如果执行到50次时系统崩溃了,系统重启时任务的执行计数器将从0开始。在大多数实际的应用中,我们往往并不需要保存任务调度的现场数据,因为很少需要规划一个指定执行次数的任务。对于仅执行一次的任务来说,其执行条件信息本身应该是已经持久化的业务数据(如锁定到期解锁任务,解锁的时间应该是业务数据),当执行完成后,条件信息也会相应改变。当然调度现场信息不仅仅是记录运行次数,还包括调度规则、JobDataMap中的数据等等。
如果确实需要持久化任务调度信息,Quartz允许你通过调整其属性文件,将这些信息保存到数据库中。使用数据库保存任务调度信息后,即使系统崩溃后重新启动,任务的调度信息将得到恢复。如前面所说的例子,执行50次崩溃后重新运行,计数器将从51开始计数。使用了数据库保存信息的任务称为持久化任务。
对比
类型 |
优点 |
缺点 |
RAMJobStore |
不要外部数据库,配置容易,运行速度快 |
因为调度程序信息是存储在被分配给JVM的内存里面,所以,当应用程序停止运行时,所有调度信息将被丢失。另外因为存储到JVM内存里面,所以可以存储多少个Job和Trigger将会受到限制 |
JDBC作业存储 |
支持集群,因为所有的任务信息都会保存到数据库中,可以控制事物,还有就是如果应用服务器关闭或者重启,任务信息都不会丢失,并且可以恢复因服务器关闭或者重启而导致执行失败的任务 |
运行速度的快慢取决与连接数据库的快慢 |
二、quartz存储实例
2.1、建立数据存储表
从下载到的quartz包里面找到对应的sql脚本。
脚本位置:\quartz-1.8.6\quartz-1.8.6\docs\dbTables,mysql使用:tables_mysql_innodb.sql
1.在数据中建立了一个quartz的database,执行以上脚本
使用以上脚本可能会出现问题,将tables_mysql_innodb.sql中的TYENGINEPE=InnoDB或者TYPE=InnoDB全部都替换成ENGINE=InnoDB即可
2.2、新建工程,增加依赖
新建工程参看:http://www.cnblogs.com/bjlhx/p/7059671.html
增加pom依赖:mysql驱动,quartz包,common-lang等
相关文章
- 微软配置错误的对象存储:泄露了全球 65000 家企业或组织的数据
- ceph创建pool时pg_num的配置
- 可能是最严重的云存储数据外泄事故之一:微软承认服务器错误配置导致全球客户数据泄露
- 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )
- 优雅地利用JPA配置Oracle数据库(jpa配置oracle)
- MongoDB主从配置实现快速可靠数据存储(mongodb主从配置)
- 配置MySQL服务器的.cnf文件(mysql.cnf)
- Linux构建共享存储:配置指南(linux配置共享存储)
- Linux下NS2的安装与配置(linux安装ns2)
- 如何在 Linux 中创建/配置 LVM(逻辑卷管理)
- Linux LVM 配置:灵活的存储方案(linuxlvm配置)
- MongoDB分片集群实现高性能存储(mongodb分片配置)
- 如何在Linux上正确配置无线网络?(linux无线配置)
- Linux最低配置:实现梦想的开始(配置最低linux)
- Redis配置指南:优化你的数据存储服务(如何配置redis)
- Oracle 磁盘管理:配置更有效的存储环境(oracle磁盘管理)
- Oracle共享存储的高效配置(oracle共享存储配置)
- 破解Redis存储秘密获取全部配置(获取redis所有配置)
- 配置Redis所需参数,轻松上手(redis需要哪些配置)
- 动手配置Redis,定义存储路径(redis 配置存储路径)
- 配置Redis写入磁盘,实现持久化存储(redis配置写入磁盘)
- 用Redis的AOF配置做持久化存储(redis配置 写aof)
- Redis配置信息安全存储之地(redis配置保存在哪里)
- Redis自动配置实现智能化运维(redis自动配置类)
- Mysql5.5InnoDB存储引擎配置和优化