Class ApplicationPidFileWriter

java.lang.Object
org.springframework.boot.context.ApplicationPidFileWriter
All Implemented Interfaces:
EventListener, org.springframework.context.ApplicationListener<SpringApplicationEvent>, org.springframework.core.Ordered

public class ApplicationPidFileWriter extends Object implements org.springframework.context.ApplicationListener<SpringApplicationEvent>, org.springframework.core.Ordered
An ApplicationListener that saves application PID into file. This application listener will be triggered exactly once per JVM, and the file name can be overridden at runtime with a System property or environment variable named "PIDFILE" (or "pidfile") or using a spring.pid.file property in the Spring Environment.

If PID file can not be created no exception is reported. This behavior can be changed by assigning true to System property or environment variable named PID_FAIL_ON_WRITE_ERROR (or "pid_fail_on_write_error") or to spring.pid.fail-on-write-error property in the Spring Environment.

Note: access to the Spring Environment is only possible when the triggerEventType is set to ApplicationEnvironmentPreparedEvent, ApplicationReadyEvent, or ApplicationPreparedEvent.

Since:
2.0.0
  • Constructor Details

    • ApplicationPidFileWriter

      public ApplicationPidFileWriter()
      Create a new ApplicationPidFileWriter instance using the filename 'application.pid'.
    • ApplicationPidFileWriter

      public ApplicationPidFileWriter(String filename)
      Create a new ApplicationPidFileWriter instance with a specified filename.
      Parameters:
      filename - the name of file containing pid
    • ApplicationPidFileWriter

      public ApplicationPidFileWriter(File file)
      Create a new ApplicationPidFileWriter instance with a specified file.
      Parameters:
      file - the file containing pid
  • Method Details

    • setTriggerEventType

      public void setTriggerEventType(Class<? extends SpringApplicationEvent> triggerEventType)
      Sets the type of application event that will trigger writing of the PID file. Defaults to ApplicationPreparedEvent. NOTE: If you use the ApplicationStartingEvent to trigger the write, you will not be able to specify the PID filename in the Spring Environment.
      Parameters:
      triggerEventType - the trigger event type
    • onApplicationEvent

      public void onApplicationEvent(SpringApplicationEvent event)
      Specified by:
      onApplicationEvent in interface org.springframework.context.ApplicationListener<SpringApplicationEvent>
    • setOrder

      public void setOrder(int order)
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • reset

      protected static void reset()
      Reset the created flag for testing purposes.