FlightRecorderListener (Java SE 26 & JDK 26)
Description: declaration: module: jdk.jfr, package: jdk.jfr, interface: FlightRecorderListener
Keywords: jdk.jfr.FlightRecorderListener interface

# Interface FlightRecorderListener

public interface FlightRecorderListener
Callback interface to monitor Flight Recorder's life cycle.

Since:
  9

- ## Method Summary

  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 Details

  - ### recorderInitialized

    default void recorderInitialized(FlightRecorder recorder)
    Receives notification when Flight Recorder is initialized.

    This method is also 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`