pureQuery Runtime 특성을 설정하여
pureQuery Runtime의 조작을 제어할 수 있습니다. 특정
WebSphere® 위치에 특성을
설정해서 pureQuery Runtime 특성의 범위를 제어할 수 있습니다.
여러 위치에
특성을 설정하면 pureQuery Runtime이
위치를 기반으로 하여 우선순위순으로 사용할 값을 판별합니다.
WebSphere는
위치를 통해 특성의 범위를 판별하고 여러 위치에 특성이 지정된
경우에는 우선순위 순서를 판별합니다.
WebSphere의 범위 레벨은
다음 우선순위 순서입니다.
- 애플리케이션 레벨: pureQuery 특성이 WebSphere
애플리케이션에 적용됩니다. 애플리케이션 레벨의
pureQuery Runtime 특성 설정은 동일한 특성의 전역 레벨 및 데이터 소스
레벨 설정을 모두 겹쳐씁니다. 그렇지 않은 경우에는 pureQuery Runtime
특성이 전역 pureQuery 특성 및 데이터 소스 레벨 pureQuery 특성와
병합됩니다.
- 데이터 소스 레벨: pureQuery 특성이 데이터 소스에서 작성된
모든 연결에 적용됩니다. 동일한 특성이
데이터 소스 레벨과 전역 레벨 모두에 정의된 경우 데이터 소스 레벨이
전역 레벨 특성 설정을 겹쳐씁니다. 그렇지 않은 경우에는 pureQuery Runtime
특성이 전역 레벨 pureQuery 특성와 병합됩니다.
- 전역 레벨: pureQuery 특성이
WebSphere Application Server의
모든 애플리케이션에 적용됩니다.
pureQuery Runtime
특성 finalRepositoryProperties를 사용하여
데이터베이스의 저장소나 파일 시스템에서 런타임 특성을 검색할 수
있습니다. 파일 시스템이나 저장소에서 특성을 검색하면
우선순위 순서에 영향이 미칩니다.
- 파일 시스템 또는 저장소 지정
pureQuery Runtime 특성이 finalRepositoryProperties
특성에 지정된 위치에서 검색하고 설정하기 전에, pureQuery 클라이언트 최적화 및
기존 pureQuery Runtime 특성은 기본값으로
재설정됩니다. 데이터 소스 레벨에서 설정된 특성은 저장되지
않습니다. 전역 pureQuery 특성으로 검색 및 설정되는 특성은 영향을 받지
않습니다.
다음 예는 pureQuery Runtime
특성 설정이 판별되는 방식을 보여줍니다.
- 특성이 여러 레벨에서 설정된 경우 레벨은 사용되는 값을
판별합니다. 예를 들어, captureMode의 값이
pdq.properties 전역 특성 파일에서 OFF로 설정되는 경우 값은
애플리케이션에서 사용되는 데이터 소스에 대한 데이터 소스 레벨 pdqProperties에서 ON, NEW_STMTS 또는 LITE로 설정되고
애플리케이션 레벨 pdq.appwide.properties에서 OFF로 설정되며 애플리케이션 레벨 설정이 우선시되고
captureMode 특성의 값이 OFF로
설정됩니다.
- pureQuery Runtime 특성이 finalRepositoryProperties
특성으로 저장소나 파일 시스템에서 검색되는 경우
전역, 데이터 소스 또는 애플리케이션 레벨의 특성 설정과 무관하게 위치에
지정된 captureMode 특성의 값이
우선합니다. 예를 들어, captureMode가
애플리케이션에 사용되는 데이터 소스의 데이터 소스 레벨 pdqProperties에서 ON, NEW_STMTS 또는 LITE로
설정되고 finalRepositoryProperties 특성도 설정된 경우,
pureQuery Runtime은 finalRepositoryProperties 특성에
지정된 위치에서 특성을 검색합니다.
captureMode 특성이 검색된 특성에 설정되지
않은 경우에는 captureMode 특성이 기본값인
OFF로 설정됩니다. captureMode
특성의 값이 검색된 특성으로 설정되면 이 값이 사용됩니다.
WebSphere
환경의 pureQuery Runtime 특성 범위 제어
WebSphere
환경에서는 pureQuery Runtime 특성을 여러 다른 위치에 설정하여
특성의 범위 레벨을 제어합니다. 특성이 여러 위치에 설정되면
위치가 우선순위 순서에도 영향을 줍니다.
- 전역 범위의 위치
- pureQuery Runtime 특성을 특성 파일 pdq.properties에 지정하고
WebSphere JDBC 제공자 클래스 경로에 파일을 포함시키십시오.
pdq.properties 파일을
사용하여 전역 특성을 설정할 때 pureQuery JAR 파일을 포함하는
JDBC 제공자 클래스 경로에 파일 pdq.properties를 포함하는
디렉토리를 포함시키십시오. JDBC 제공자 클래스 경로에
설정되는 특성은 드라이브를 사용하는 모든 애플리케이션에
적용됩니다. 특정 애플리케이션 또는 데이터 소스에 적용되는 특성을
여기에 지정하지 마십시오.
pureQuery Runtime 특성 traceFile은
전역 pdq.properties 파일에만 지정할 수 있습니다.
WebSphere
Application Server 관리 콘솔에서
전역 pureQuery Runtime 특성을 설정하십시오.
- JDBC 제공자 링크를 선택하십시오.
- JDBC 제공자의 경우 DB2 Universal JDBC
Driver Provider 또는 DB2 Universal JDBC Driver
Provider(XA)를 선택하십시오.
- 필요한 경우 pureQuery JAR 파일을 포함하는 디렉토리를
클래스 경로 필드에 추가하십시오.
주: 파일 이름
pdq.properties를 포함시키지 마십시오.
- 선택한 JDBC 제공자에 변경사항을 적용하고 이를 저장하십시오.
- 두 JDBC 제공자 DB2 Universal JDBC Driver Provider 및 DB2
Universal JDBC Driver Provider(XA)의 클래스 경로 필드를 변경해야 할 수도 있습니다.
- 클래스 경로 필드에 지정한
디렉토리에 pdq.properties 파일을 포함시키십시오.
pdq.properties가
디렉토리에 있는 경우 WebSphere Application Server 및
pureQuery Runtime이 특성 파일을 찾습니다.
- 애플리케이션 환경에 따라, 변경사항이 반영되도록 하려면
애플리케이션 서버나 WebSphere Application Server 또는
두 서버 모두를 재시작해야 합니다.
주: SQL문을 동적에서 정적 모드로 실행하도록
pdq.properties 파일을 수정하는 동안 변경사항이 반영되도록 애플리케이션 서버(AS)를
다시 시작해야 합니다. 특성은
특정 JDBC 제공자를 사용하는 모든 데이터 소스에 적용되므로
모든 애플리케이션이 동일한 실행 모드로 실행되고 캡처된 모든 SQL문은
캡처 중에 동일한 pureQueryXML 파일로 이동합니다.
- 데이터 소스 레벨 범위의 위치
JDBC Driver 사용자 정의 특성 pdqProperties를
WebSphere 데이터 소스에
지정하십시오.
사용자는 각 데이터 소스에 대한
pureQuery Runtime 특성을 설정할 수 있습니다. 각 데이터 소스에 대한
설정을 서로 독립적으로 유지해야 할 때에는 데이터 소스 레벨이
적합합니다. 예를 들어, 애플리케이션이
구별되는 여러 데이터 소스를 사용하는 경우 각 데이터 소스는 자체
pureQueryXML 파일에서 목표가 되는 SQL을 캡처합니다.
특성이
데이터 소스에 설정되면 이 데이터 소스를 사용 중인 모든 애플리케이션에
특성이 적용됩니다. 따라서 애플리케이션이
데이터 소스를 공유할 때 캡처한 SQL문은 모든 애플리케이션의 공통 파일에서
캡처됩니다.
데이터 소스의 pdqProperties 특성 값이 변경될 때마다
애플리케이션이 새 값을 사용할 수 있도록 애플리케이션 서버를 재시작해야 합니다.
- 애플리케이션 레벨 범위의 위치
애플리케이션 CLASSPATH의
다음 특성 파일 중 하나 또는 둘 모두를 사용하여 pureQuery
Runtime 특성을 애플리케이션 레벨 범위에서 사용하십시오.
pdq.appwide.properties 파일은 애플리케이션별
pureQuery 특성을 지정합니다. 이 파일에 지정된 모든 특성 값은
애플리케이션이 사용하는 모든 데이터 소스에
적용됩니다.
pdq.DSName.properties 파일은 애플리케이션의
데이터 소스별 특성을 지정합니다. 이 파일에 지정된
특성은 애플리케이션이 사용하는 특정 데이터 소스에만
적용됩니다. DSName은
데이터 소스의 WebSphere 사용자 정의
특성 dataSourceName의 문자열 값입니다.
이 사용자 정의 특성은
WebSphere 사용자 정의 특성
pdqProperties를 설정하는 데 사용된 단계와 유사한 단계를 사용하여
설정됩니다.
데이터 소스 이름
DSName을 사용하는 애플리케이션의 경우,
pdq.DSName.properties에 지정된 특성이
pdq.appwide.properties에 지정된 특성보다 우선합니다.
pureQuery Runtime
특성 파일을 포함하는 JAR 파일을 작성하고
WebSphere 설치에서 설치된 애플리케이션 디렉토리에 아래에
JAR 파일을 직접 포함시킬 수 있습니다.
pureQuery Runtime 특성을 사용하는 모든 모듈의
MANIFEST.MF 파일을 업데이트하십시오.
애플리케이션이
pdq.appwide.properties 또는 pdq.dsName.properties 파일과 같은
애플리케이션별 특성 파일을 사용하는 경우,
특성이 변경될 때 새 특성이 적용되게 하려면 WebSphere
연결 풀을 제거하고 애플리케이션 서버(AS) 대신 애플리케이션을 다시 시작하여 새 특성 값을
적용해야 합니다.
다음 예에서
pureQuery Runtime 특성은 pdq.appwide.properties에 있으며
동적 웹 프로젝트(.war 파일)는 .ear 파일의 파트입니다. WebSphere
환경에서 애플리케이션을 배치할 때
installedApps 디렉토리에 MyAppEAR.ear 디렉토리가 포함됩니다. 다음 단계는
애플리케이션 레벨에서 pureQuery Runtime 특성을 사용하도록 설정하는 방법을
설명합니다.
- pdq.appwide.properties를 포함하는 JAR 파일을 작성하십시오. 이 예에서
파일은 pdq_props.jar입니다.
- 다음 폴더에 pdq_props.jar을 포함시키십시오.
WAS_ROOT/profiles/AppSrv01/installedApps/version1/MyAppEAR.ear
- pureQuery Runtime 특성을 사용하는 모든 모듈의 MANIFEST.MF 파일을
편집하십시오. 이 예에서 MyApp.war war 파일은 특성을 사용하며 MANIFEST.MF는
다음 디렉토리에 있습니다.
WAS_ROOT/profiles/AppSrv01/installedApps/version1/MyAppEAR.ear/MyAppEAR.war/META-INF/MANIFEST.MF
pdq_props.jar 파일에 대해
다음 Class-Path 항목을
추가하십시오.
Class-Path: pdq_props.jar
항목이
MANIFEST.MF 파일의 단일 라인에 있으며 특성과 파일 이름 간에
간격이 있습니다.
애플리케이션의 모듈이 다른 데이터 소스를 사용하는 경우
각 데이터 소스의 pureQuery Runtime 특성을 지정할 수 있습니다.
이 예에서는 사용자 정의 JCC 특성 dataSourceName이 데이터 소스에 설정된다고
가정합니다. 이 예에는 또한 데이터 소스 이름이 DS1 및 DS2인 두 개의 다른 데이터 소스가
WebSphere Application Server 환경에 있습니다.
이 예에서 애플리케이션은 두 모듈로 구성됩니다.
- 데이터 소스 DS1을 사용하는 웹 모듈 Web1
- 데이터 소스 DS2를 사용하는 EJB 모듈 EJB1
각 데이터 소스의
두 pureQuery Runtime 특성 파일을 작성하십시오.
- pdq.DS1.properties
- pdq.DS2.properties
두 파일
pureQuery Runtime 파일을 포함하는 JAR 파일을 작성하고 이전에 설명한 대로
설치된 애플리케이션 디렉토리 아래에 이를 포함시키십시오.
- 위치는 파일 시스템 또는 저장소
pureQuery Runtime 특성 finalRepositoryProperties로
데이터베이스의 저장소 또는 파일 시스템을 지정합니다.
특성을 전역 레벨, 데이터 소스 레벨 또는 애플리케이션 레벨에서
지정할 수 있습니다.
pureQuery Runtime은
finalRepositoryProperties 특성에 지정된 위치에서 특성을
검색할 때 다음 규칙을 적용합니다.
pureQuery Runtime repositoryRequired
특성은 파일 시스템이나 저장소를 사용할 때 pureQuery Runtime의
동작을 제어합니다. WebSphere 위치
pureQuery에 특성을 지정하여 pureQuery Runtime 동작을
제어합니다. repositoryRequired 특성을
검색된 특성 중 하나로 설정해서 repositoryRequired 특성의
값을 겹쳐쓸 수 있습니다.