Description
Andy Wilkinson opened SPR-17324 and commented
In Boot, if context refresh fails, we publish an ApplicationFailedEvent
. We can't rely on the context's multicaster being available at this point so we create our own. It is initialised with the collection of listeners returned by AbstractApplicationContext.getApplicationListeners()
. Unfortunately, any listeners that were added after the context's multicaster was initialised are missing from this collection so they do not receive the ApplicationFailedEvent
.
In AbstractApplicationContext.addApplicationListener(ApplicationListener<?>)
, would it be possible to always call this.applicationListeners.add(listener)
rather than only calling it when this.applicationEventMulticaster
is null
?
Affects: 5.0.9
Reference URL: spring-projects/spring-boot#14490
Issue Links:
- Unnecessary sort in AbstractApplicationEventMulticaster [SPR-17307] #21840 Unnecessary sort in AbstractApplicationEventMulticaster
Referenced from: commits c8c0737, d61a7ed
Backported to: 5.0.10