단편 프로브 객체

단편 프로브 객체는 프로브 논리의 스펙입니다. 실행될 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 단편은 대상 메소드 종료(정상 종료 또는 대상 메소드에서 예외를 발생하는 경우) 직후 호출 메소드에서 실행됩니다. 메소드 프로브에는 적용되지 않습니다.
주:
  • 프로브를 동기화됨으로 선언되는 메소드에 적용하면 다중 스레드의 동시 실행에서 entry, exitexecutableUnit 단편에 있는 코드가 보호된다고 보증할 수 없습니다. 예를 들어, entry 단편 및 처음 몇몇 executableUnit 단편이 메소드 동기화 논리에 잠금을 가져오기 전에 실행될 수 있으며 잠금이 해제된 이후 exit 단편이 실행될 수 있습니다.
  • 프로브의 여러 단편이 메소드의 같은 위치에 적용될 수 있습니다(예: entry 단편 및 첫 번째 executableUnit 위치). 또 다른 예는 catch 단편 및 이와 연관된 executableUnit 위치로, 예외 핸들링 catch절은 항상 새로운 실행 가능 단위의 시작을 표시하기 때문입니다. 이러한 경우 executableUnit 단편 코드는 entry 또는 catch 단편 코드 다음에 실행됩니다. 그 결과 entry 단편은(존재하는 경우) 항상 다른 종류의 단편 이전에 실행됩니다.
<fragment type="entry"> 
   <data . . . />
   <code>
      . . . 
   </code>
</fragment>

다음에 의해 포함됨
프로브 객체

상위 주제: Probekit 요소 참조

관련 참조
Probekit 예
executableUnit 프로브 단편
staticInitializer 프로브 단편

이용약관 | 피드백
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.