Quartz将Job保存在数据库中所需表的说明

http://blog.iqbon.com/doc/364.html   (将Quartz持久化到数据库的做法)

QRTZ_CALENDARS 以 Blob 类型存储 Quartz 的 Calendar 信息

QRTZ_CRON_TRIGGERS 存储 Cron Trigger,包括 Cron表达式和时区信息

QRTZ_FIRED_TRIGGERS 存储与已触发的 Trigger 相关的状态信息,以及相联 Job的执行信息 QRTZ_PAUSED_TRIGGER_GRPS 存储已暂停的 Trigger 组的信息

QRTZ_SCHEDULER_STATE 存储少量的有关 Scheduler 的状态信息,和别的 Scheduler实例(假如是用于一个集群中)

QRTZ_LOCKS 存储程序的悲观锁的信息(假如使用了悲观锁)

QRTZ_JOB_DETAILS 存储每一个已配置的 Job 的详细信息

QRTZ_JOB_LISTENERS 存储有关已配置的 JobListener 的信息

QRTZ_SIMPLE_TRIGGERS 存储简单的Trigger,包括重复次数,间隔,以及已触的次数

QRTZ_BLOG_TRIGGERS Trigger 作为 Blob 类型存储(用于 Quartz 用户用 JDBC创建他们自己定制的 Trigger 类型,JobStore 并不知道如何存储实例的时候)

QRTZ_TRIGGER_LISTENERS 存储已配置的 TriggerListener 的信息

QRTZ_TRIGGERS 存储已配置的 Trigger 的信息

--------------------------------------------------------------------------------------------------

quartz 持久化数据库表格字段解释

建表,SQL语句在quartz-1.6.6\docs\dbTables文件夹中可以找到,介绍下主要的几张表: 
       表qrtz_job_details: 保存job详细信息,该表需要用户根据实际情况初始化 
       job_name:集群中job的名字,该名字用户自己可以随意定制,无强行要求 
       job_group:集群中job的所属组的名字,该名字用户自己随意定制,无强行要求 
       job_class_name:集群中个note job实现类的完全包名,quartz就是根据这个路径到classpath找到该job类 
       is_durable:是否持久化,把该属性设置为1,quartz会把job持久化到数据库中 
       job_data:一个blob字段,存放持久化job对象

表qrtz_triggers: 保存trigger信息 
       trigger_name: trigger的名字,该名字用户自己可以随意定制,无强行要求 
       trigger_group:trigger所属组的名字,该名字用户自己随意定制,无强行要求 
       job_name: qrtz_job_details表job_name的外键 
       job_group: qrtz_job_details表job_group的外键 
       trigger_state:当前trigger状态,设置为ACQUIRED,如果设置为WAITING,则job不会触发 
       trigger_cron:触发器类型,使用cron表达式

表qrtz_cron_triggers:存储cron表达式表 
       trigger_name: qrtz_triggers表trigger_name的外键 
       trigger_group: qrtz_triggers表trigger_group的外键 
       cron_expression:cron表达式 
       
       表qrtz_scheduler_state:存储集群中note实例信息,quartz会定时读取该表的信息判断集群中每个实例的当前状态 
       instance_name:之前配置文件中org.quartz.scheduler.instanceId配置的名字,就会写入该字段,如果设置为AUTO,quartz会根据物理机名和当前时间产生一个名字 
       last_checkin_time:上次检查时间 
       checkin_interval:检查间隔时间

步骤4
 配置quartz.properties文件:
#调度标识名 集群中每一个实例都必须使用相同的名称 org.quartz.scheduler.instanceName = scheduler

#ID设置为自动获取 每一个必须不同 org.quartz.scheduler.instanceId = AUTO

#数据保存方式为持久化 org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

#数据库平台 org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.weblogic.WebLogicOracleDelegate #数据库别名 随便取org.quartz.jobStore.dataSource = myXADS

#表的前缀 org.quartz.jobStore.tablePrefix = QRTZ_

#设置为TRUE不会出现序列化非字符串类到 BLOB 时产生的类版本问题 org.quartz.jobStore.useProperties = true

#加入集群 org.quartz.jobStore.isClustered = true

#调度实例失效的检查时间间隔 org.quartz.jobStore.clusterCheckinInterval = 20000

#容许的最大作业延长时间 org.quartz.jobStore.misfireThreshold = 60000

#ThreadPool 实现的类名 org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

#线程数量 org.quartz.threadPool.threadCount = 10

#线程优先级 org.quartz.threadPool.threadPriority = 5

#自创建父线程 org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

#设置数据源org.quartz.dataSource.myXADS.jndiURL = CT

#jbdi类名 org.quartz.dataSource.myXADS.java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory #URLorg.quartz.dataSource.myXADS.java.naming.provider.url = t3://localhost:7001

【注】:在J2EE工程中如果想用数据库管理Quartz的相关信息,就一定要配置数据源,这是Quartz的要求。

本文转自:http://blog.sina.com.cn/s/blog_4f925fc30102e3zr.html

时间: 2024-11-10 08:18:48

Quartz将Job保存在数据库中所需表的说明的相关文章

Python爬虫项目,获取所有网站上的新闻,并保存到数据库中,解析html网页等

1.需求说明 需求: 爬取虎嗅网站的所有新闻,并保存到数据库中. http://www.huxiu.com 技术: 1.爬虫 获取服务器的资源(urllib) 解析html网页(BeautifulSoup) 2.数据库技术 数据库 MySQLdb 业务逻辑的分析: (1).虎嗅网站的新闻,包括首页和分页信息(下一页) (2).需要从首页的资源和分页的资源中获取每个新闻的url连接 如何获取url: 解析网站html文件,如果A标签的href属性包含 article字段,就表示这是一个新闻 (3)

FMDB使用的一点心得:数据库创建、制表、查询等以及image转换成二进制nsdata保存到数据库中

<span style="font-size:18px;">//首先,获取数据库的路径,(如果不存在,就是我们想要存储的路径),不用担心每次都创建数据库会重复,不会的,如果没有则创建,有了就不会再重复创建: //接下来,我们要制表,首先我们先查看我们的表是否已经存在,方法在下面代码中:如果存在则跳过,不存在则创建</span> -(void)DataBaseInit { //获取Document文件夹下的数据库文件,没有则创建 NSString *dbPath

将配置保存在数据库中

将配置保存在数据库中 我们在<聊聊默认支持的各种配置源>和<深入了解三种针对文件(JSON.XML与INI)的配置源>对配置模型中默认提供的各种ConfigurationSource进行了深入详尽的介绍,如果它们依然不能满足项目中的配置需求,我们可以还可以通过自定义ConfigurationProvider来支持我们希望的配置来源.就配置数据的持久化方式来说,将培植存储在数据库中应该是一种非常常见的方式,接下来我们就是创建一个针对数据库的ConfigurationSource,它采

Java中将图片保存到数据库中

在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非常的简单.和普通的数据库操作差别不大.只是用到部分流操作.例如各种输入输出流操作.所以深刻理解流操是非常重要的. 在此我借助于一个JSP的简单实例进行讲解.此实例保存职员数据,其中职员数据包含一个图片列.此列保存每名员工的照片.在此将照片直接保存到数据库中.首先建立职员信息表EmployeeInfo

ASP.NET将Session保存到数据库中

因为ASP.NET中Session的存取机制与ASP相同,都是保存在进行中, 一旦进程崩溃,所有Session信息将会丢失,所以我采取了将Session信息保存到SQL Server中,尽管还有其它的 几个方式(本文不作介绍),要将Session保存到SQL Server中,需要有以下几个步骤: 1.首先要创建用于保存Session数据的数据库,以命令行的形式用aspnet_regsql.exe来完成,具体命令为 C:\WINDOWS\Microsoft.NET\Framework\v2.0.5

将文件以二进制的形式保存到数据库中

主要应用HttpPostedFile类的InputStream属性.Stream类的read方法和Byte数据类型.首先获取上传数据文件的名称.大小和类型,建立一个访问客户端上传文件的对象HttpPostedFile和一个数据流对象Stream,然后使用数据流Stream对象将上传文件以二进制形式的数据写入Byte类型的数组中,最后将二进制数据保存的数据库中. 代码:try        {            if (this.FileUpload1.PostedFile.FileName

JQuery结合Ajax实现双击Table表格,使Table变成可编辑,并保存到数据库中

近期在做项目时,要实现通过双击Table表格的TR,使Table行变成可编辑,来实现修改数据并保存到数据库中的功能,无需多说,直接贴代码吧.希望能得到各位同仁指正. 1 function tdEdit(element, id) { 2 var i_a = "<input class='edit_td' type='text' style='height:30px; width:40px;' value='"; 3 var i_b = "'/>"; 4 v

python爬取数据并保存到数据库中(第一次练手完整代码)

1.首先,下载需要的模块requests, BeautifulSoup, datetime, pymysql(注意,因为我用的python3.7,不支持mysqldb了),具体的下载方法有pip下载,或者使用Anaconda版本python的童鞋可以使用conda下载. 2.创建conndb,py,包含数据库的连接断开,增删改查等操作: #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql def conn_db(): # 连接数

批量删除指定数据库中的指定表

-- ---------------------------------------------------------------------------------------------------------- -- -- 1.查询:得到批量删除指定数据库中的指定表: -- 2.执行:将得到的结果复制下来,再重新执行: -- SELECT CONCAT( 'drop table ', table_name, '; ' ) FROM information_schema. TABLES W