Do not change availability on close unless context is active
Previously, an AvailabilityChangeEvent was published when the servlet and reactive web server application contexts were closed, irrespective of whether or not the context was active. This caused problems when the context was not active due to a refresh failure as the event publication could then trigger bean creation and post-processing that relied upon beans that had been destroyed when cleaning up after the refresh failure. The most commonly seen symptom was a missing importRegistry bean that is required by ImportAwareBeanPostProcessor. This commit updates the two web server application contexts to only publish the availability change event if the context is active. Fixes gh-21588
Showing
Please register or sign in to comment