단편 프로브 오브젝트

단편 프로브 오브젝트는 프로브 논리의 스펙입니다. 여기에는 실행될 Java 소스 코드가 들어 있습니다.

최소 하나의 단편 오브젝트가 필요합니다. 이 오브젝트에는 코드 오브젝트와 이 코드 오브젝트에 있는 소스 코드에 의해 참조되는 모든 데이터 항목이 들어 있습니다. 프로브는 두 개 이상의 단편 오브젝트를 포함할 수 있지만 두 개의 단편 오브젝트가 동일한 유형을 가질 수는 없습니다.

단편 오브젝트는 다음 특성을 포함합니다.
특성 설명
유형 필수사항. 메소드 프로브의 경우, entry, exit, catch, staticInitializer 또는 executableUnit이어야 합니다. 호출 사이트 프로브의 경우, beforeCall 또는 afterCall이어야 합니다. 메소드 단편과 호출 사이트 단편을 한 프로브 내에서 혼합할 수 없습니다.
다음 표는 단편 유형을 나열하여 설명하고 사용할 수 있는 각 프로브 유형을 나타냅니다.
단편 유형 프로브 유형 설명
entry 메소드 entry 단편은 메소드 항목에 대해 실행합니다. entry 단편은 Probekit에 의해 클래스에 삽입된 메소드에 대해서는 실행하지 않습니다.
exit 메소드 exit 단편은 메소드 종료(정상 종료, 메소드가 예외를 처리할 때 또는 처리된 예외가 메소드 외부로 전달될 때)에 대해 실행합니다. exit 단편은 Probekit에 의해 클래스에 삽입된 메소드에 대해서는 실행하지 않습니다.
catch 메소드 catch 단편은 메소드에서 catch 절이 시작되거나 예외의 결과로 실행되는 finally 절이 시작될 때 실행합니다.
staticInitializer 메소드 staticInitializer 단편은 모든 프로브된 클래스의 클래스 초기화 프로그램 내에서 실행합니다. 클래스에 정적 초기화 프로그램이 없는 경우 초기화 프로그램을 작성합니다. 자세한 정보는 staticInitializer 프로브 단편을 참조하십시오.
executableUnit 메소드 executableUnit 단편은 프로브의 대상 및 필터 스펙과 일치하며 사용할 수 있는 소스 코드가 있는 메소드의 모든 실행 가능 단위 코드 앞에서 실행합니다. 메소드에 소스 행 정보가 없는 경우, 0으로 숫자 표시된 단일 실행 가능 단위를 갖는 것으로 나타납니다. 자세한 정보는 executableUnit 프로브 단편을 참조하십시오.
beforeCall 호출사이트 beforeCall 단편은 대상 메소드가 호출되기 직전에 호출 메소드에서 실행합니다. 메소드 프로브에는 유효하지 않습니다.
afterCall 호출사이트 afterCall 단편은 대상 메소드가 종료(정상 종료 또는 대상 메소드가 예외를 처리할 때)된 직후에 호출 메소드에서 실행합니다. 메소드 프로브에는 유효하지 않습니다.
참고:
  • 프로브가 synchronized로 선언된 메소드에 적용될 때 entry, exitexecutableUnit 단편의 코드는 복수 스레드에서의 동시 실행으로부터 보호되도록 보장되지 않습니다. 예를 들어, entry 단편과 처음 일부 executableUnit 단편은 잠금을 확보하는 메소드 동기화 논리 앞에서 실행될 수 있으며, exit 단편은 잠금이 해제된 후에 실행될 수 있습니다.
  • 프로브는 한 메소드 내에서 동일한 위치에 적용되는 여러 단편을 가질 수 있습니다. 예를 들어, entry 단편과 첫 번째 executableUnit 위치입니다. 또다른 예제는 catch 단편 및 연관된 executableUnit 위치인데, 이는 예외를 처리하는 catch 절이 항상 새 실행 가능 단위의 시작을 나타내기 때문입니다. 이러한 경우, executableUnit 단편 코드는 entry또는 catch 단편 코드의 뒤에서 실행합니다. 중요한 것은 entry 단편이 있는 경우 이는 항상 다른 유형의 단편 앞에서 실행하는 점입니다.
예제
<fragment type="entry"> 
   <data . . . />
   <code>
      . . . 
   </code>
</fragment>

포함된 위치
프로브 오브젝트

상위 주제: Probekit 참조

관련 개념
메소드 프로브 대 호출 사이트 프로브

Copyright IBM Corporation and others 2000, 2004.