org.springframework.boot.context

Class 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
    Author:
    Jakub Kubrynski, Dave Syer, Phillip Webb, Tomasz Przybyla, Madhura Bhave
    • Constructor Detail

      • 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 Detail

      • 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
      • 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.

Copyright © 2019 Pivotal Software, Inc.. All rights reserved.