Spring / Spring Boot
What are the application events sent by SpringApplication?
An ApplicationStartingEvent is sent at the start of a run but before any processing, except for the registration of listeners and initializers.
An ApplicationEnvironmentPreparedEvent is sent when the Environment to be used in the context is known but before the context is created.
An ApplicationPreparedEvent is sent just before the refresh is started but after bean definitions have been loaded..
An ApplicationStartedEvent is sent after the context has been refreshed but before any application and command-line runners have been called.
An ApplicationReadyEvent is sent after any application and command-line runners have been called. It indicates that the application is ready to service requests.
An ApplicationFailedEvent is sent if there is an exception on startup.
package net.javapedia.applicationeventdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; @SpringBootApplication public class ApplicationEventDemoApplication { public static void main(String[] args) { SpringApplication myApp = new SpringApplication(ApplicationEventDemoApplication.class); myApp.addListeners(new MyApplicationListener()); myApp.run(args); } static class MyApplicationListener implements ApplicationListener<ApplicationEvent> { @Override public void onApplicationEvent(ApplicationEvent event) { System.out.println("Event triggered: " + event ); } } }
Example for ApplicationFailedEvent
package net.javapedia.applicationeventdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; @SpringBootApplication public class ApplicationEventDemoApplication { public static void main(String[] args) { SpringApplication myApp = new SpringApplication(ApplicationEventDemoApplication.class); myApp.addListeners(new MyApplicationListener()); myApp.run(null); } static class MyApplicationListener implements ApplicationListener<ApplicationEvent> { @Override public void onApplicationEvent(ApplicationEvent event) { System.out.println("Event triggered: " + event ); } } }
More Related questions...