package com.atlassian.bitbucket.mesh.app;

/**
 * Describes the phases used in the Spring application context to control the order in which components are initialized
 * on startup and destroyed on shutdown.
 */
public class LifecyclePhases {

    //Earliest phase, used for anything that should execute before the home directory has been locked and initialized 
    public static final int BOOTSTRAP = -2000;
    //Acquire the home directory lock
    public static final int HOME_LOCK = -1000;
    //Initialize the home directory
    public static final int HOME_INIT = -900;
    //Initialize the configured data stores
    public static final int DATA_STORES = -500;
    //Start the gRPC server
    public static final int GRPC = 0;

    private LifecyclePhases() {
    }
}
