org.springframework.boot.loader.Launcher domyślnie zawsze odradza wątek tła w metodzie launch() (https://github.com/spring-projects/spring-boot/blob/master/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/Launcher.java#L105). Czy jest jakiś prosty sposób na zmianę tego, aby wykonać to w tym samym wątku, więc mój program uruchamiający usługę może wiedzieć, kiedy aplikacja jest w pełni załadowana, a nie po prostu natychmiastowo zakończyć działanie z sukcesem.Wyrzutnia synchroniczna Spring Boot
5
A
Odpowiedz
0
Wierzę, że można zarejestrować słuchacza tak:
public static void main(String[] args) {
SpringApplication app = new SpringApplication(WsBootClientApplication.class);
app.addListeners(new ApplicationListener<ContextStartedEvent>() {
@Override
public void onApplicationEvent(ContextStartedEvent event) {
//do your stuff
}
});
app.run(args);
}
Jeśli ContextStartedEvent nie jest odpowiedni dla Ciebie wydarzenie, można zastąpić ContextStartedEvent z ApplicationEvent. To jest bardziej ogólne i będzie obsługiwać wszystkie zdarzenia cyklu życia kontekstu, których aplikacja może słuchać.
Powiązane problemy
- 1. Spring Boot i FreeMarker
- 2. Spring Boot z MongoTemplate
- 3. @EnableTransactionManagement w Spring Boot
- 4. Spring Boot - nesting ConfigurationProperties
- 5. Spring Boot devtools IntelliJ
- 6. Spring boot + cassandra
- 7. Spring Boot + Websocket (SockJS)
- 8. Spring Boot JSP 404
- 9. Spring Boot AutoConfiguration Order
- 10. Spring Boot Application
- 11. Spring Boot Autowired null
- 12. Spring Boot @EnableScheduling warunkowo
- 13. Spring Boot: Hibernate and Flyway boot order
- 14. Konwertuj istniejącą aplikację Spring na Spring-Boot
- 15. Spring Boot Test ignoruje logging.level
- 16. Spring Boot: SpringBootServletInitializer jest przestarzałe
- 17. Jak działa konsola Spring Boot?
- 18. Spring boot @ConfigurationProperties nie załadowano
- 19. Spring Boot ignorowanie logback-spring.xml
- 20. Spring boot - @ConditionalOnProperty lub @ConditionalOnExpression
- 21. Spring Boot Czas ładowania AOP
- 22. Spring-boot automatycznie importuje applicationContext.xml?
- 23. Jak działa spring-boot @ConditionalOnClass?
- 24. Spring Boot Disable/mapowanie błędów
- 25. Poświadczenia klienta Spring Boot + Oauth2
- 26. kopiowania wyrzutnia nieporozumień
- 27. Spring Boot with Spring Dostawca usług społecznościowych Google
- 28. Jaki jest związek między Spring Boot a Spring IO?
- 29. Wyłączanie automatycznej konfiguracji Spring JMS w Spring Boot Application
- 30. Jak wyłączyć Spring Security w Spring Boot Application
patrząc na to, możesz użyć własnej implementacji, rozszerzyć klasę jarlauncher/warlauncher i zastąpić metodę uruchamiania. – MarianP
Tak, rozumiem, mogę łatwo przesłonić tę metodę. Problem polega na tym, że rozruch wiosenny nie pozwala w łatwy sposób na użycie innej metody mainClass w metodzie uruchamiania słoika. –
Nie można ustawić programu ładującego klasy kontekstu bez tworzenia nowego "wątku", co może spowodować problemy, jeśli spróbujesz zmienić tę metodę. Co właściwie robi twój "launcher usług"? –