Quartz Job Scheduling Framework[翻译]附录 A. Quartz 配置参考 (第六部分)

十. 配置 Quartz 数据源


如果你在使用 JDBC JobStore,就需定义要用到的数据源。而如果使用的是 JobStoreCMT,你实际上需要定义两个数据源。数据源可由三种方式来配置:

·在 quartz.properties 文件中指定连接池属性,这样 Quartz 能亲自创建数据源。

·指定应用服务器管理的数据源所在 JNDI 的位置,Quartz 直接使用它。

·还可使用自定义的 org.quartz.utils.ConnectionProvider 实现类。

每一个你定义的 datasource 都必须给予一个名称,并且你为它们配置的属性也必须包含这个名称。datasourceNAME 可以是你任何想要的;它没有特别的意思,只是用来指定给 JDBC JobStore 时标识 datasource

当使用 quartz.properties 来定义连接池的所有属性来配置 datasource 时,表 A.6 是可用的属性。

表 A.6. 配置 Quartz Datasource 的属性
名称必须类型默认值
org.quartz.dataSource.NAME.driverStringnull
org.quartz.dataSource.NAME.URLStringnull
org.quartz.dataSource.NAME.userString""
org.quartz.dataSource.NAME.passwordString""
org.quartz.dataSource.NAME.maxConnectionsInteger10
org.quartz.dataSource.NAME.validationQueryStringnull
·org.quartz.dataSource.NAME.driver

必须是你的数据库的 JDBC 驱动的 Java 类名。

·org.quartz.dataSource.NAME.URL

这是连接到你的数据库的 URL(主机、端口等)

·org.quartz.dataSource.NAME.user

用来连接到你的数据库的用户名。

·org.quartz.dataSource.NAME.password

用来连接到你的数据库的密码。

·org.quartz.dataSource.NAME.maxConnections

DataSource 创建的连接池中的最大连接数。

·org.quartz.dataSource.NAME.validationQuery

这是一个可选的 SQL 查询语句,DataSource 用它来检测失败/无用的连接。例如,Oracle 用户可选用 select table_name from user_tables,这个查询永不会失败,除非连接实际是无用的。

当你使用定义在应用服务器中的 Datasource 时,可用的属性如表 A.7 所列。

表 A.7. 配置 Quartz 使用应用服务器中中 Datasource 时的属性
名称必须类型默认值
org.quartz.dataSource.NAME.jndiURLStringnull
org.quartz.dataSource.NAME.java.naming.factory.initialStringnull
org.quartz.dataSource.NAME.java.naming.provider.urlStringnull
org.quartz.dataSource.NAME.java.naming.security.principalStringnull
org.quartz.dataSource.NAME.java.naming.security.credentialsStringnull
·org.quartz.dataSource.NAME.jndiURL

这是受容器管理的 DataSource 的 JNDI URL。

·org.quartz.dataSource.NAME.java.naming.factory.initial

可选,你希望使用的 JNDI InitialContextFactory 类名。

·org.quartz.dataSource.NAME.java.naming.provider.url

可选,用来连接到 JNDI 上下文的 URL。

·org.quartz.dataSource.NAME.java.naming.security.principal

可选,连接到 JNDI 上下文的用户名。

·org.quartz.dataSource.NAME.java.naming.security.credentials

可选,连接到 JNDI 上下文的用户凭证。

十一. 使用自定义的 ConnectionProvider 配置数据源

自 Quartz 1.5.1 开始,你可以创建一个自定义的 ConnectionProvider,并在属性文件中提供类名来配置 Quartz 使用它。

org.quartz.dataSource.myConnProvider.connectionProvider.class = com.foo.MyConnectionProvider

初始化该类后,Quartz 就能自动以 Bean 风格来设置实例的属性。

org.quartz.dataSource.myConnProvider.someStringProperty = someValue
org.quartz.dataSource.myConnProvider.someIntProperty = 5
永久链接 https://yanbin.blog/quartz-job-scheduling-framework-appendix-6/, 来自 隔叶黄莺 Yanbin's Blog
[版权声明] 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。