Sun Java System Application Server 9.1 高可用性管理指南

配置 JDBC 连接池

Application Server 使用 Java Database Connectivity (JDBC) API 与 HADB 进行通信。asadmin configure-ha-cluster 命令自动创建 JDBC 连接池以与 HADB 一起使用(用于群集 cluster-name)。连接池的名称为 "cluster-name-hadb-pool"。JDBC 资源的 JNDI URL 为 "jdbc/cluster-name-hastore"。

连接池的初始配置通常已足够。添加节点时,更改稳定的池大小,以使每个 HADB 活动节点都有八个连接。请参见添加节点

本节包含以下主题:

有关连接池和 JDBC 资源的常规信息,请参见《Sun Java System Application Server 9.1 高可用性管理指南》

获取 JDBC URL

在可以设置 JDBC 连接池之前,需要使用 hadbm get 命令来确定 HADB 的 JDBC URL,如下所示:

hadbm get JdbcUrl [dbname]

例如:

hadbm get JdbcUrl

该命令显示 JDBC URL,其形式如下所示:

jdbc:sun:hadb:host:port,
host:port,...

删除 jdbc:sun:hadb: 前缀并将 host:port, host:port... 部分用作 serverList 连接池属性(表 3–10 所示)的值。

创建连接池

下表汇总了 HADB 所需的连接池设置。添加节点时,请更改稳定池大小,但不要更改其他设置。

表 3–9 HADB 连接池设置

设置 

HADB 所需的值 

名称

HADB JDBC 资源的池名称设置必须指定此名称 

数据库供应商

HADB 4.4 

全局事务支持

取消选中/false 

数据源类名称

com.sun.hadb.jdbc.ds.HadbDataSource

稳定的池大小

每个活动的 HADB 节点使用 8 个连接。有关更多详细信息,请参见 System Deployment Guide

需要连接验证

选中/true 

验证方法

meta-data

表名称

不指定 

所有连接均失败

取消选中/false 

事务隔离

repeatable-read

保证隔离层

选中/true 

下表汇总了 HADB 所需的连接池属性。添加节点时,请更改 serverList,但不要更改其他属性。

表 3–10 HADB 连接池属性

属性 

说明 

username

asadmin create-session-store 命令中使用的 storeuser 的名称。

password

asadmin create-session-store 命令中使用的密码 (storepassword)。

serverList

HADB 的 JDBC URL。要确定该值,请参见获取 JDBC URL

如果将节点添加到数据库中,则必须更改此值。请参见添加节点

cacheDatabaseMetaData

需要时设置为 false,以确保对 Connection.getMetaData() 的调用可以获得对数据库的调用,从而确保连接有效。

eliminateRedundantEndTransaction

必要时设置为 true 可以通过消除冗余提交和回滚请求以及忽略这些请求(如果未打开任何事务)来提高性能。

maxStatement

在驱动程序语句池中高速缓存的每个打开的连接的最大语句数目。请将此属性设置为 20


示例 3–5 创建连接池

下面是一个创建 HADB JDBC 连接池的示例 asadmin create-jdbc-connection-pool 命令:

asadmin create-jdbc-connection-pool
--user adminname --password secret 
--datasourceclassname com.sun.hadb.jdbc.ds.HadbDataSource
--steadypoolsize=32
--isolationlevel=repeatable-read
--isconnectvalidatereq=true
--validationmethod=meta-data
--property username=storename:password=secret456:serverList=
host\:port,host\:port,
host\\:port,host\:port,
host\:port,host\:port
:cacheDatabaseMetaData=false:eliminateRedundantEndTransaction=true hadbpool

在 Solaris 上,用双反斜杠 (\\) 对属性值内的冒号字符 (:) 进行转义。在 Windows 上,用单反斜杠 (\) 对冒号字符 (:)进行转义。


创建 JDBC 资源

下表汇总了 HADB 所需的 JDBC 资源设置。

表 3–11 HADB JDBC 资源设置

设置 

说明 

JNDI 名称

在会话持久性配置中,以下 JNDI 名称为默认值:jdbc/hastore。您可以使用默认名称,也可以使用其他名称。

当激活可用性服务时,还必须将此 JNDI 名称指定为 store-pool-jndi-name 持久性存储属性的值。

池名称

从列表中选择此 JDBC 资源所使用的 HADB 连接池的名称(或 ID)。有关更多信息,请参见配置网络冗余

已启用的数据源

选中/true