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 连接池之前,需要使用 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 所需的连接池属性。添加节点时,请更改 serverList,但不要更改其他属性。
表 3–10 HADB 连接池属性
属性 |
说明 |
---|---|
在 asadmin create-session-store 命令中使用的 storeuser 的名称。 |
|
在 asadmin create-session-store 命令中使用的密码 (storepassword)。 |
|
HADB 的 JDBC URL。要确定该值,请参见获取 JDBC URL。 如果将节点添加到数据库中,则必须更改此值。请参见添加节点。 |
|
需要时设置为 false,以确保对 Connection.getMetaData() 的调用可以获得对数据库的调用,从而确保连接有效。 |
|
必要时设置为 true 可以通过消除冗余提交和回滚请求以及忽略这些请求(如果未打开任何事务)来提高性能。 |
|
在驱动程序语句池中高速缓存的每个打开的连接的最大语句数目。请将此属性设置为 20。 |
下面是一个创建 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 上,用单反斜杠 (\) 对冒号字符 (:)进行转义。
下表汇总了 HADB 所需的 JDBC 资源设置。
表 3–11 HADB JDBC 资源设置
设置 |
说明 |
---|---|
在会话持久性配置中,以下 JNDI 名称为默认值:jdbc/hastore。您可以使用默认名称,也可以使用其他名称。 当激活可用性服务时,还必须将此 JNDI 名称指定为 store-pool-jndi-name 持久性存储属性的值。 |
|
从列表中选择此 JDBC 资源所使用的 HADB 连接池的名称(或 ID)。有关更多信息,请参见配置网络冗余。 |
|
选中/true |