Only wait for background preinit to complete when it has started

Closes gh-10362
This commit is contained in:
Andy Wilkinson 2017-09-25 17:06:28 +01:00
parent b602b1da2e
commit 616d11c00a
1 changed files with 5 additions and 3 deletions

View File

@ -46,7 +46,8 @@ import org.springframework.http.converter.support.AllEncompassingFormHttpMessage
public class BackgroundPreinitializer
implements ApplicationListener<SpringApplicationEvent> {
private static final AtomicBoolean preinitializationStarted = new AtomicBoolean(false);
private static final AtomicBoolean preinitializationStarted = new AtomicBoolean(
false);
private static final CountDownLatch preinitializationComplete = new CountDownLatch(1);
@ -57,8 +58,9 @@ public class BackgroundPreinitializer
performPreinitialization();
}
}
if (event instanceof ApplicationReadyEvent
|| event instanceof ApplicationFailedEvent) {
if ((event instanceof ApplicationReadyEvent
|| event instanceof ApplicationFailedEvent)
&& preinitializationStarted.get()) {
try {
preinitializationComplete.await();
}