¿Cuál es la diferencia entre ContextRefreshedEvent, ContextStartedEvent, ContextStoppedEvent y ContextClosedEvent

En Spring 5.x, ¿cuál es la diferencia entre los siguientes eventos?

ContextRefreshedEventContextStartedEventContextStoppedEventContextClosedEvent

Qué evento se correlaciona con los eventos de contexto de servlet (segúnhttps://docs.oracle.com/javaee/6/api/javax/servlet/ServletContextListener.html):

ServletContextListener.contextInitialized(ServletContextEvent); yServletContextListener.contextDestroyed(ServletContextEvent)?

Tengo la siguiente situación:

Para querer inicializar un subsistema de registro lo antes posible, si eso se hace enContextRefreshedEvent oContextStartedEvent?

También quiero destruirlo lo más tarde posible, si eso se hace enContextClosedEvent oContextStoppedEvent?

Respuestas a la pregunta(1)

Su respuesta a la pregunta