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

配置 JDBC 連線池

Application Server 使用 Java 資料庫連結 (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 條連線。如需更多詳細資訊,請參閱系統部署指南

必需的連線驗證

核取/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