Spring Boot 3 Web starter does publish its AvailabilityChangeEvent after the ApplicationReadyEvent is published. I can not listen to ApplicationReadyEvent to know if all spring stuff is ready to initialize a check whether my own components are ready, cause spring web starter publish its state (AvailabilityChangeEvent ) after ApplicationReadyEvent. It would be nice to have an dedicated event (SpringAvailabilityChangeCompleted) which tells me spring has done all its AvailabilityChange-Stuff so i can start with mine. Or the ApplicationReadyEvent is really the last one and i can depend on that.

Comment From: wilkinsona

This is intentional. The ApplicationReadyEvent is published to indicate within the application that it is now ready to service requests. This readiness should include all of your application's own components which should have got ready during bean initialization or as application or command-line runners. Once this event has been published and all listeners are aware that servicing of requests may now begin, the AvailabilityChangeEvent is published to make this readiness visible externally so that requests are routed to the application.