Mise en place des listeners

Spring Boot utilise l’interface SpringApplicationRunListener qui a pour implémentation EventPublishingRunListener.

C’est ce listener qui va envoyer les événements durant la phase d’initialisation :

Evénement

Signification

starting

ApplicationStartingEvent

environmentPrepared

ApplicationEnvironmentPreparedEvent

contextPrepared

ApplicationContextInitilizedEvent

ContextLoaded

ApplicationPreparedEvent

started

ApplicationStartedEvent

running

ApplicationReadyEvent

failed

ApplicationFailedEvent

Nous avons déjà présenté certains de ces événements.

1. Le starting : ApplicationStartingEvent

Il est possible d’enregistrer des listeners comme nous l’avons vu dans le chapitre sur les listeners :

class MonListener implements ApplicationListener<ApplicationStartingEvent> { 
 void onApplicationEvent(ApplicationStartingEvent event {...}  
} 

Étant donné qu’à ce moment précis du démarrage Spring ne dispose pas encore du contexte normal de l’application, il va se baser sur le BootstrapContext que nous pouvons alimenter de trois façons :

  • Utiliser le chargement des factories via la mécanique du spring.factories en ajoutant une ligne au org.springframework.context.ApplicationListener.

  • Utiliser les méthodes SpringApplication.addListeners(...) et SpringApplicationBuilder.listeners(...).

  • Ajouter le listener dans le classpath au démarrage :...

couv_EP4JASP.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Le chargement du BootstrapContext
Suivant
La configuration des logs