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

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

이 태스크 정보

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

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

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

프로시저

두 개의 웹 애플리케이션(Application1 및 Application2)이 WebSphere® Application Server에서 실행 중이라고 가정하십시오. 두 웹 애플리케이션 모두 pureQueryXML 파일의 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.pureQueryXml=App1Items.pdqxml

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

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

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

  1. pdq.OrdersDS.properties 특성 파일을 작성하십시오.
  2. 각 특성 파일에서 필수 특성을 설정하십시오.
    pdq.captureMode=ON
    pdq.pureQueryXml=App2Orders.pdqxml
    pureQueryXML 파일의 이름은 사용자 고유 규칙을 따를 수 있습니다. 그러나 확장자는 .pdqxml 또는 .xml이어야 합니다.
  3. SQL문을 캡처하십시오.
  4. pdq.OrdersDS.properties 파일에서 captureMode를 OFF로 설정하십시오.
  5. 애플리케이션 서버(AS)의 명령문 캐시를 사용 중인 경우, 데이터 소스의 연결 풀을 제거하십시오.
  6. Application2를 재시작하십시오.

피드백