Sun Java System Application Server 9.1 고가용성 관리 설명서

JDBC 연결 풀 구성

Application Server는 JDBC(Java Database Connectivity) API를 사용하여 HADB와 통신합니다. asadmin configure-ha-cluster 명령은 cluster-name 클러스터에 대해 HADB와 함께 사용할 JDBC 연결 풀을 자동으로 만듭니다. 연결 풀의 이름은 "cluster-name-hadb-pool"입니다. JDBC 자원의 JNDI URL은 "jdbc/cluster-name-hastore"입니다.

일반적으로 연결 풀의 초기 구성이면 충분합니다. 노드를 추가할 때 각 HADB 활성 노드에 8개의 연결이 있도록 고정 풀 크기를 변경합니다. 노드 추가를 참조하십시오.

이 장은 다음 내용으로 구성되어 있습니다.

연결 풀과 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,...

표 3–10에 설명된 대로 jdbc:sun:hadb: 접두어를 제거하고 host:port, host:port... 부분을 serverList 연결 풀 등록 정보의 값으로 사용합니다.

연결 풀 만들기

다음 표에서는 HADB에 필요한 연결 풀 설정을 요약하여 설명합니다. 노드를 추가할 때 고정 풀 크기를 변경합니다. 그러나 다른 설정은 변경하지 마십시오.

표 3–9 HADB 연결 풀 설정

설정 

HADB에 필요한 값 

Name

HADB JDBC 자원의 풀 이름 설정은 이 이름을 참조해야 합니다. 

Database Vendor

HADB 4.4 

Global Transaction Support

선택하지 않음/false 

DataSource Classname

com.sun.hadb.jdbc.ds.HadbDataSource

Steady Pool Size

각 활성 HADB노드에 대해 8개의 연결을 사용합니다. 자세한 내용은 System Deployment Guide를 참조하십시오.

Connection Validation Required

선택함/true 

Validation Method

meta-data

Table Name

지정하지 않습니다. 

Fail All Connections

선택하지 않음/false 

Transaction Isolation

repeatable-read

Guarantee Isolation Level

선택함/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 Name

다음 JNDI 이름은 세션 지속성 구성의 기본값입니다. jdbc/hastore. 기본 이름을 사용하거나 다른 이름을 사용할 수 있습니다.

또한 가용성 서비스를 활성화할 때 이 JNDI 이름을 store-pool-jndi-name 지속성 저장소 등록 정보의 값으로 지정해야 합니다.

Pool Name

이 JDBC 자원에서 사용하는 HADB 연결 풀의 이름 또는 아이디를 목록에서 선택합니다. 자세한 내용은 네트워크 중복 구성을 참조하십시오.

Data Source Enabled

선택함/true