Module jdk.jfr
Package jdk.jfr

## Interface FlightRecorderListener

-     public interface FlightRecorderListener

  Callback interface to monitor Flight Recorder's life cycle.
  Since:
    9

- - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `recorderInitialized​(FlightRecorder recorder)` | Receives notification when Flight Recorder is initialized.
    `default void` | `recordingStateChanged​(Recording recording)` | Receives notification when the state of a recording changes.

- - ### Method Detail

    - #### recorderInitialized

          default void recorderInitialized​(FlightRecorder recorder)

      Receives notification when Flight Recorder is initialized.

      This method is also be invoked when a listener is added to an already initialized Flight Recorder.

      This method allows clients to implement their own initialization mechanism that is executed before a `FlightRecorder` instance is returned by `FlightRecorder#getFlightRecorder()`.

      Implementation Requirements:
        The default implementation of this method is empty.
      Implementation Note:
        This method should return as soon as possible, to avoid blocking initialization of Flight Recorder. To avoid deadlocks or unexpected behavior, this method should not call `FlightRecorder.getFlightRecorder()` or start new recordings.
      Parameters:
        `recorder` - Flight Recorder instance, not `null`
      See Also:
        `FlightRecorder.addListener(FlightRecorderListener)`

    - #### recordingStateChanged

          default void recordingStateChanged​(Recording recording)

      Receives notification when the state of a recording changes.

      Callback is invoked when a recording reaches the `RUNNING`, `STOPPED` and `CLOSED` state.

      Implementation Requirements:
        The default implementation of this method is empty.
      Implementation Note:
        The implementation of this method should return as soon as possible to avoid blocking normal operation of Flight Recorder.
      Parameters:
        `recording` - the recording where the state change occurred, not `null`
      See Also:
        `FlightRecorder.addListener(FlightRecorderListener)`, `RecordingState`