WebSphere Application Server 환경의 pureQuery Runtime 특성 범위

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 특성을 설정하십시오.
  1. JDBC 제공자 링크를 선택하십시오.
  2. JDBC 제공자의 경우 DB2 Universal JDBC Driver Provider 또는 DB2 Universal JDBC Driver Provider(XA)를 선택하십시오.
  3. 필요한 경우 pureQuery JAR 파일을 포함하는 디렉토리를 클래스 경로 필드에 추가하십시오.
    주: 파일 이름 pdq.properties를 포함시키지 마십시오.
  4. 선택한 JDBC 제공자에 변경사항을 적용하고 이를 저장하십시오.
  5. 두 JDBC 제공자 DB2 Universal JDBC Driver ProviderDB2 Universal JDBC Driver Provider(XA)클래스 경로 필드를 변경해야 할 수도 있습니다.
  6. 클래스 경로 필드에 지정한 디렉토리에 pdq.properties 파일을 포함시키십시오.

    pdq.properties가 디렉토리에 있는 경우 WebSphere Application Server 및 pureQuery Runtime이 특성 파일을 찾습니다.

  7. 애플리케이션 환경에 따라, 변경사항이 반영되도록 하려면 애플리케이션 서버나 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
  • pdq.DSName.properties

    DSName은 데이터 소스에 설정된 WebSphere DB2® Universal JDBC 드라이버 사용자 정의 특성 dataSourceName의 값입니다.

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 특성을 사용하도록 설정하는 방법을 설명합니다.
  1. pdq.appwide.properties를 포함하는 JAR 파일을 작성하십시오. 이 예에서 파일은 pdq_props.jar입니다.
  2. 다음 폴더에 pdq_props.jar을 포함시키십시오.
    WAS_ROOT/profiles/AppSrv01/installedApps/version1/MyAppEAR.ear 
  3. 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 특성에 지정된 위치에서 특성을 검색할 때 다음 규칙을 적용합니다.
  • finalRepositoryProperties에서 로드되는 특성은 로드하는 애플리케이션에만 영향을 줍니다.
  • pureQuery 클라이언트 최적화 또는 pureQuery Runtime에 유효하지 않은 finalRepositoryProperties에서 로드되는 특성은 무시되고 로깅이 사용되면 로그됩니다. 이 동작은 데이터 소스 레벨 또는 애플리케이션 레벨 특성와 동일합니다.
  • 특성 finalRepositoryProperties의 값은 초기 finalRepositoryProperties 특성에 지정된 위치에서 검색되는 경우 무시됩니다. pureQuery Runtime은 finalRepositoryProperties 특성으로 복수 경로 재지정 레벨을 지원하지 않습니다.
  • finalRepositoryProperties 특성을 지정하는 것 외에, pureQuery Runtime 특성 propertiesGroupId를 지정하여 애플리케이션이 pureQuery 데이터를 검색하는 데 사용하는 데이터베이스에 작성된 저장소에 런타임 그룹 버전을 지정합니다.

    propertiesGroupId 특성의 값은 데이터베이스에 작성된 저장소에 사용되지 않으면 무시됩니다. 저장소가 사용 중일 때에는 경로 재지정된 특성 내에서 propertiesGroupId 특성의 값을 변경할 수 없습니다.

  • finalRepositoryProperties 특성에 지정된 위치에서 검색되는 pureQuery Runtime 특성은 propertiesRefreshInterval 특성이 위치에서 검색된 특성 중 하나이고 양수 값으로 설정된 경우에만 자동 특성 새로 고침에 사용됩니다. 각 애플리케이션에는 finalRepositoryProperties에서 검색되는 특성에 정의된 다른 propertiesRefreshInterval이 있을 수 있습니다.

pureQuery Runtime repositoryRequired 특성은 파일 시스템이나 저장소를 사용할 때 pureQuery Runtime의 동작을 제어합니다. WebSphere 위치 pureQuery에 특성을 지정하여 pureQuery Runtime 동작을 제어합니다. repositoryRequired 특성을 검색된 특성 중 하나로 설정해서 repositoryRequired 특성의 값을 겹쳐쓸 수 있습니다.


피드백