데이터 소스를 공유하는 웹 애플리케이션에서 SQL문 캡처

여러 개의 웹 애플리케이션이 데이터 소스를 공유하는 경우, 각 애플리케이션에 특정한 클라이언트 최적화 특성을 설정할 수 있습니다.

이 태스크 정보

애플리케이션 특정 특성을 설정할 때, 특성 수정, SQL문 캡처, pureQueryXML 파일 구성 또는 하나의 애플리케이션에 대한 SQL 바인드를 수행해도 데이터 소스를 공유하는 다른 애플리케이션은 손상되지 않습니다. 또한 애플리케이션 중 하나 이상이 애플리케이션 서버(AS)가 수행한 명령문 캐싱에 의존하지 않는 한, 하나의 애플리케이션에 대한 조치가 다른 애플리케이션에 대한 조치를 간섭하지 않고 동시에 애플리케이션 중 두 개 이상에 대해 조치를 수행할 수도 있습니다.

실제로, 애플리케이션에 특정한 클라이언트 최적화 특성을 수정하는 경우 모든 애플리케이션을 실행 중인 애플리케이션 서버(AS)를 재시작하지 않아도 됩니다. 대신 하나의 애플리케이션만 재시작할 수 있습니다.

그러나 pdq.properties 파일에 있거나 DataSource 오브젝트에 대해 설정된 특성을 수정하는 경우 애플리케이션 서버(AS)를 재시작해야 합니다. 이 위치에서 설정할 수 있는 특성은 pureQuery가 클라이언트 최적화에 대한 오류 메시지를 로깅하는 방법을 판별하는 특성입니다. 이 위치에서 특성을 설정하는 방법에 대한 정보는 클라이언트 최적화에 대한 특성 설정 방법을 참조하십시오.

프로시저

두 개의 웹 애플리케이션(Application1 및 Application2)이 WebSphere® Application Server에서 실행 중이라고 가정하십시오. Application1에서 SQL문을 동적으로 실행하고 Application2에서 SQL을 정적으로 실행할 수 있도록 둘 다에 대해 클라이언트 최적화를 구성하려고 합니다.

Application1은 두 개의 데이터 소스인 OrdersDS 및 ItemsDS를 사용합니다. Application2는 이 데이터 소스 중 하나인 OrdersDS를 사용합니다.

다음 단계는 로깅하지 않고 선택적 클라이언트 최적화 특성도 없는 단순 구성을 설정하는 방법을 보여줍니다.

Application1을 설정하고 실행하려면 다음 단계를 수행할 수 있습니다.

  1. WebSphere Application Server에서, 두 개의 데이터 소스 각각에 대해 사용자 정의 IBM® Data Server Driver for JDBC and SQLJ 특성 dataSource를 설정하십시오.
  2. 데이터 소스마다 하나의 특성 파일을 작성하십시오(pdq.ItemsDS.properties 및 pdq.OrdersDS.properties).
  3. 각 특성 파일에서 필수 특성을 설정하십시오.

    pdq.ItemsDS.properties에 대해 다음 설정을 사용합니다.

    pdq.captureMode=ON
    pdq.executionMode=DYNAMIC
    pdq.pureQueryXml=App1Items.pdqxml

    pdq.OrdersDS.properties에 대해 다음 설정을 사용합니다.

    pdq.captureMode=ON
    pdq.executionMode=DYNAMIC
    pdq.pureQueryXml=App1Orders.pdqxml
    pureQueryXML 파일의 이름은 확장자가 .pdqxml 또는 .xml이면 사용자가 원하는 어떤 규칙도 따를 수 있습니다.
  4. SQL문을 캡처하십시오.
  5. 두 특성 파일에서, captureModeOFF로 설정하고 executionModeDYNAMIC으로 설정하십시오.
  6. 애플리케이션 서버(AS)의 명령문 캐시를 사용 중인 경우, 두 데이터 소스의 연결 풀을 제거하십시오. 이 캐시를 사용 중이고 executionMode의 값을 변경할 때마다 연결 풀을 제거해야 합니다.
  7. Application1을 재시작하십시오.

Application2를 설정하고 실행하려면 다음 단계를 수행할 수 있습니다.

  1. pdq.OrdersDS.properties 특성 파일을 작성하십시오.
  2. 각 특성 파일에서 필수 특성을 설정하십시오.
    pdq.captureMode=ON
    pdq.executionMode=DYNAMIC
    pdq.pureQueryXml=App2Orders.pdqxml
    pureQueryXML 파일의 이름은 사용자 고유 규칙을 따를 수 있습니다. 그러나 확장자는 .pdqxml 또는 .xml이어야 합니다.
  3. SQL문을 캡처하십시오.
  4. pureQueryXML 파일에 대해 Configure 유틸리티를 실행하여 작성할 DB2® 패키지를 설정하십시오.
  5. pureQueryXML 파일에 대해 StaticBinder 유틸리티를 실행하여, 캡처된 SQL문으로부터 DB2 패키지를 작성하십시오.
  6. pdq.OrdersDS.properties 파일에서 captureMode를 OFF로 설정하고 executionMode를 STATIC으로 설정하십시오.
  7. 애플리케이션 서버(AS)의 명령문 캐시를 사용 중인 경우, 데이터 소스의 연결 풀을 제거하십시오. 이 캐시를 사용 중이고 executionMode의 값을 변경할 때마다 연결 풀을 제거해야 합니다.
  8. Application2를 재시작하십시오.

피드백