wsadmin 도구로 연결 풀 설정 변경
wsadmin 스크립트 도구를 사용하여 연결 풀 설정을 변경할 수 있습니다.
이 태스크 정보
wsadmin 도구는 스크립트를 실행합니다. wsadmin 도구를 사용하여 WebSphere® Application Server 설치와 구성, 애플리케이션 배치 및 서버 런타임 조작을 관리할 수 있습니다. 이 제품은 Jacl 및 Jython 스크립트 언어를 지원합니다. wsadmin 도구에 대해 자세히 학습하려면 "wsadmin 스크립트 클라이언트 시작" 주제를 참조하십시오.
wsadmin 도구를 사용하여 연결 풀 설정을 변경하려면 다음을 수행하십시오.
프로시저
예제: wsadmin 도구로 연결 풀 설정 변경
wsadmin AdminControl 오브젝트를 사용하여 연결 풀 설정에 대한 변경을 스크립트할 수 있습니다.
wsadmin 도구는 Jacl 및 Jython 언어로 된 스크립트만 실행합니다. 스크립트 태스크를 수행하려면 wsadmin 스크립트 클라이언트를 시작해야 합니다. 자세한 정보는 "wsadmin 스크립트 클라이언트 시작" 주제를 참조하십시오.
AdminControl 스크립트 오브젝트에 대한 자세한 정보는 "스크립트된 관리에 대한 AdminControl 오브젝트 사용" 주제를 참조하십시오.
풀이 활성 상태이면 연결 제한시간은 항상 변경이 가능합니다. 연결 제한시간 값을 변경하는 경우, 대기 중인 모든 연결 요청의 연결 제한시간이 새 값에서 연결이 이미 대기 중인 시간을 뺀 값으로 변경되며 사용 가능한 연결이 없는 경우 요청이 대기 상태로 리턴됩니다.
예를 들어, 연결 제한시간이 300초로 변경되고 연결 요청이 100초를 대기한 경우에 연결이 사용 가능하지 않으면 연결 요청이 200초 더 대기합니다.
$AdminControl getAttribute $objectname connectionTimeout
$AdminControl setAttribute $objectname connectionTimeout 200
이 설정에 대한 자세한 정보는 연결 풀 설정 주제를 참조하십시오. .
스턱 연결 지원이 활성인 경우를 제외하면 최대 연결 수는 언제든지 변경이 가능합니다.
스턱 연결 지원이 활성이면 최대 연결 수를 변경하려고 합니다. 최대 연결 수 변경 시도에 실패하면, IllegalState 예외가 발생합니다. 자세한 정보는 연결 풀 고급 설정 주제를 참조하십시오.
스턱 연결 지원이 활성이 아니면 최대 연결 수가 새 값으로 변경됩니다. 새 값이 현재 값보다 크면 연결 수가 새 값으로 증가되며 대기 중인 모든 요청이 알려집니다. 새 값이 현재 값 미만이며 유효 제한시간 또는 Reap 시간이 사용되면, 연결 수가 풀 활동에 따라 새 값으로 줄어듭니다. agedTimeout 또는 Reap 시간이 사용되지 않으면, 총 연결 수를 줄이기 위해 자동 시도가 수행되지 않습니다. 새 최대 연결 수로 연결의 수를 수동으로 줄이려면 Mbean 함수 purgePoolContents를 사용하십시오.
$AdminControl getAttribute $objectname maxConnections
$AdminControl setAttribute $objectname maxConnections 200
이 설정에 대한 자세한 정보는 연결 풀 설정 주제를 참조하십시오.
최소 연결 수는 언제든지 변경할 수 있습니다.
$AdminControl getAttribute $objectname minConnections
$AdminControl setAttribute $objectname minConnections 200
이 설정에 대한 자세한 정보는 연결 풀 설정 주제를 참조하십시오.
언제든 Reap 시간을 변경할 수 있습니다. Reap 시간 간격이 다음 간격에 새 값으로 변경됩니다.
$AdminControl getAttribute $objectname reapTime
$AdminControl setAttribute $objectname reapTime 30
미사용 제한시간언제든 미사용 제한시간을 변경할 수 있습니다.
$AdminControl getAttribute $objectname unusedTimeout
$AdminControl setAttribute $objectname unusedTimeout 900
이 설정에 대한 자세한 정보는 연결 풀 설정 주제를 참조하십시오.
언제든 유효 제한시간을 변경할 수 있습니다.
$AdminControl getAttribute $objectname agedTimeout
$AdminControl setAttribute $objectname agedTimeout 900
이 설정에 대한 자세한 정보는 연결 풀 설정 주제를 참조하십시오.
언제든 제거 정책을 변경할 수 있습니다.
$AdminControl getAttribute $objectname purgePolicy
$AdminControl setAttribute $objectname purgePolicy "Failing Connection Only"
이 설정에 대한 자세한 정보는 연결 풀 설정 주제를 참조하십시오.
서지 연결 지원은 surgeThreshold > -1 및 surgeCreationInterval > 0인 경우에 시작됩니다. 서지 보호 특성은 언제든지 변경할 수 있습니다.
$AdminControl getAttribute $objectname surgeCreationInterval
$AdminControl setAttribute $objectname surgeCreationInterval 30
$AdminControl getAttribute $objectname surgeThreshold
$AdminControl setAttribute $objectname surgeThreshold 15
이 설정에 대한 자세한 정보는 연결 풀 설정 주제를 참조하십시오.
stuckTime, stuckTimerTime 또는 stuckThreshold 특성을 변경하려고 했습니다. 최대 연결 수 변경 시도에 실패하면, IllegalState 예외가 발생합니다. 이 풀은 이 요청 동안 어떤 활성 요청이나 활성화된 연결도 가질 수 없습니다. 스턱 연결 지원이 시작되려면, 세 개 모두의 스턱 특성 값이 0보다 커야 하며 최대 연결 수 값이 0보다 커야(>) 합니다.
연결 풀이 스턱이면 스턱 또는 최대 연결 수 특성을 변경할 수 없습니다. 스턱인 경우에는 활성화된 연결이 있습니다.
$AdminControl getAttribute $objectname stuckTime
$AdminControl setAttribute $objectname stuckTime 30
$AdminControl getAttribute $objectname stuckTimerTime
$AdminControl setAttribute $objectname stuckTimerTime 15
$AdminControl getAttribute $objectname stuckThreshold
$AdminControl setAttribute $objectname stuckThreshold 10
이 설정에 대한 자세한 정보는 연결 풀 고급 설정 주제를 참조하십시오.
연결 테스트 지원은 testConnection 특성이 true이며 간격 > 0인 경우에 시작됩니다. 연결 테스트 특성은 언제든지 변경할 수 있습니다.
$AdminControl getAttribute $objectname testConnection
$AdminControl setAttribute $objectname testConnection 30
$AdminControl getAttribute $objectname testConnectionInterval
$AdminControl setAttribute $objectname testConnectionInterval 15
이 설정에 대한 자세한 정보는 연결 테스트 서비스 주제를 참조하십시오.
$AdminControl invoke $objectname freePoolDistributionTableSize
$AdminControl invoke $objectname numberOfFreePoolPartitions
$AdminControl invoke $objectname numberOfSharedPoolPartitions
$AdminControl invoke $objectname gatherPoolStatisticalData
$AdminControl invoke $objectname enablePoolStatisticalData
이 설정에 대한 자세한 정보는 연결 풀 설정 주제를 참조하십시오.
언제든 표시 풀 조작을 변경할 수 있습니다.
$AdminControl invoke $objectname showAllPoolContents
$AdminControl invoke $objectname showPoolContents
$AdminControl invoke $objectname showAllocationHandleList
PurgePool은 언제든지 변경할 수 있습니다.
$AdminControl invoke $objectname purgePoolContents normal
$AdminControl invoke $objectname purgePoolContents immediate
- 기존의 인플라이트 트랜잭션이 계속 작동합니다.
- 공유 연결 요청이 수행됩니다.
- 해제된 연결은 정리되고 영구 삭제됩니다.
- 연결 풀에 리터낳면 사용 중인 연결(트랜잭션 중인 연결)이 정리되고 영구 삭제됩니다.
- purgePoolContents 호출 이전에 얻은 연결에서 실행된 close() 호출은 동기적으로 수행됩니다(처리 중에 jdbc 드라이버가 리턴할 때까지 대기).
- 새 연결 요청(기존의 이전 연결 처리가 아님)이 수행됩니다.
- purgePoolContents 호출 이전에 얻은 연결에서 새 트랜잭션을 시작할 수 없습니다. 대신, StaleConnectionException이 발생합니다.
- purgePoolContents 호출 이전에 얻은 연결에서 새 핸들을 전달할 수 없습니다. 대신, StaleConnectionException이 발생합니다.
- 기존의 인플라이트 트랜잭션은 계속 작동하지만 제거된 연결의 새 활동은 StaleConnectionException 또는 XAER_FAIL 예외를 초래합니다.
- purgePoolContents() 호출 이전에 얻은 연결에서 실행된 close() 호출은 동기적으로 수행됩니다(대기 시간 없음).
- 새 연결 요청(기존의 이전 연결 처리가 아님)이 수행됩니다.
- 연결 수는 즉시 감소됩니다. 따라서 애플리케이션 서버에 있는 총 연결 수가 데이터베이스에 있는 총 연결 수와 임시로 동기화되지 않게 됩니다.
- purgePoolContents() 호출 이전에 얻은 연결에서 실행된 close() 호출은 동기적으로 수행됩니다(대기 시간 없음).
- 새 연결 요청(기존의 이전 연결 처리가 아님)이 수행됩니다.
- 연결 수는 즉시 감소됩니다. 따라서 애플리케이션 서버에 있는 총 연결 수가 백엔드 자원에 있는 총 연결 수와 임시로 동기화되지 않게 됩니다.
언제든 일시정지 및 재개를 변경할 수 있습니다.
$AdminControl invoke $objectname pause
$AdminControl invoke $objectname resume
Wsadmin 명령은 연결 팩토리 및 데이터 소스 MBeans에 액세스하기 위해 사용됩니다. MBeans는 연결 팩토리 또는 데이터 소스에 대한 특성을 검색하거나 업데이트할 수 있습니다.
J2C 연결 팩토리 또는 데이터 소스 Mbean 오브젝트 이름의 목록을 가져오려면 wsadmin 명령행에서 다음 관리 제어 명령 중 하나를 사용하십시오.
$AdminControl queryNames *:type=J2CConnectionFactory,*
$AdminControl queryNames *:type=DataSource,*
DataSource 조회의 예제 출력:
wsadmin>$AdminControl queryNames *:type=DataSource,*
"WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
system1Node01,JDBCProvider=Derby JDBC Provider,j2eeType=JDBCDataSource,J2EESe
rver=server1,Server=server1,version=6.0.0.0,type=DataSource,mbeanIdentifier=cell
s/system1Node01Cell/nodes/system1Node01/servers/server1/resources.xml#DataSource
_1094760149902,JDBCResource=Derby JDBC Provider,cell=system1Node01Cell"
J2C 연결 팩토리 또는 데이터 소스 MBean 오브젝트 이름을 사용하여 MBean에 액세스할 수 있습니다. 이름은 webSphere:name= 표현식 다음에 나옵니다. 다음 예제에서는 첫 번째 세트에 대해 기본 데이터 소스 이름이 변수 이름에서 설정됩니다. 두 번째 세트의 경우, 오브젝트 이름은 변수 objectName에서 설정됩니다.
기본 데이터 소스를 사용하는 예제:
- wsadmin>set name [list Default Datasource]
Default Datasource
- wsadmin>set objectName [$AdminControl queryNames *:name=$name,*]
"WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
system1Node01,JDBCProvider=Derby JDBC Provider,j2eeType=JDBCDataSource,J2EESe
rver=server1,Server=server1,version=6.0.0.0,type=DataSource,mbeanIdentifier=cell
s/system1Node01Cell/nodes/system1Node01/servers/server1/resources.xml#DataSource
_1094760149902,JDBCResource=Derby JDBC Provider,cell=system1Node01Cell"
이제 이 Mbean에 대해 사용 가능한 속성 및 조작에 대한 도움말을 가져오기 위해 objectName을 사용할 수 있습니다.
$Help attributes $objectName
$Help operations $objectName
속성 가져오기 또는 설정을 수행하거나 조작을 사용하려면 다음 명령 중 하나를 사용하십시오.
$AdminControl getAttribute $objectName "attribute name"
$AdminControl setAttribute $objectName "attribute name" value
$AdminControl invoke $objectName "operation"
속성, 조작 예제:
Get and set an attribute maxConnections. If you get no value, a null value, or
a java.lang.IllegalStateException, the connection factory or data source for this
MBean has not been created. The connection factory or data source is created at first
JNDI lookup. For this example, the Default DataSource must be used before get,
set and invoke will work.
wsadmin>$AdminControl getAttribute $objectName maxConnections
10
wsadmin>$AdminControl setAttribute $objectName maxConnections 20
wsadmin>$AdminControl getAttribute $objectName maxConnections
20
Using invoke
wsadmin>$AdminControl invoke $objectName showPoolContents
PoolManager name:DefaultDatasource
PoolManager object:746354514
Total number of connections: 3 (max/min 20/1, reap/unused/aged 180/1800/0,
connectiontimeout/purge 1800/EntirePool)
(testConnection/inteval false/0, stuck timer/time
/threshold 0/0/0, surge time/connections 0/-1)
Shared Connection information (shared partitions 200)
No shared connections
Free Connection information (free distribution table/partitions 5/1)
(2)(0)MCWrapper id 5c6af75b Managed connection WSRdbManagedConnectionImpl@4b5
a775b State:STATE_ACTIVE_FREE
(2)(0)MCWrapper id 3394375a Managed connection WSRdbManagedConnectionImpl@328
5f75a State:STATE_ACTIVE_FREE
(2)(0)MCWrapper id 4795b75a Managed connection WSRdbManagedConnectionImpl@46a
4b75a State:STATE_ACTIVE_FREE
Total number of connections in free pool: 3
UnShared Connection information
No unshared connections