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
`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`