Spring Boot - Warten Sie, bis der Webserver startet
In meiner Spring Boot-Anwendung muss ich warten, bis der (standardmäßige Tomcat-) Webserver vollständig initialisiert und für den Datenverkehr bereit ist, bevor ich Nachrichten an andere Anwendungen sende, in denen sie aufgefordert werden, HTTP-Anforderungen an mich zu senden (insbesondere ein Überwachungssystem, das auf mein @ trifft/health
).
Ich habe versucht, die Logik, die Nachrichten an andere Anwendungen sendet, in ein @ zu setzeApplicationListener<ContextRefreshedEvent>
aber es ist noch zu früh. Die anderen Anwendungen versuchen, Anfragen an mich zu richten und schlagen fehl. Im Moment habe ich eine Verzögerung imonApplicationEvent
und das funktioniert, aber es ist hacky und rassig.
Ich habe auch versucht, ein @ hinzuzufügServletContextInitializer
aber das feuerte noch früher.
Ich gehe davon aus, dass ich eine Tomcat-API verwenden muss, aber ich wollte sehen, ob die Boot-API dafür etwas enthält.