Annotation Interface Interception


@Retention(RUNTIME) @Target(METHOD) public @interface Interception
Declares an interception that does not split the call tree or create a payload. The annotated probe method must be public and static and return void.

You can get information from the intercepted method like parameter values, the instance or the return value by declaring parameters annotated with the annotations from the com.jprofiler.api.probe.injected.parameter package. You can also declare a parameter of type ProbeContext to open or close control objects or check if the probe is currently being recorded.

  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The point at which the annotated probe method is invoked.
    Specifies the method that should be intercepted.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Indicates if your interception is reentrant.
  • Element Details

    • invokeOn

      InvocationType invokeOn
      The point at which the annotated probe method is invoked.
      Returns:
      the invocation type
    • method

      MethodSpec method
      Specifies the method that should be intercepted.
      Returns:
      a method specification
    • reentrant

      boolean reentrant
      Indicates if your interception is reentrant. If false, the probe method will not be called for recursive invocations of the intercepted method.
      Returns:
      if your probe method should be called for recursive invocations
      Default:
      true