org.springframework.boot.loader.Launcher di default sarà sempre generare un thread in background nel metodo di lancio() (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). C'è un modo semplice per cambiare questo per eseguire nello stesso thread, quindi il mio programma di avvio del servizio può sapere quando l'applicazione è completamente caricata, e non semplicemente uscire con successo immediatamente ogni volta.Primavera Boot lanciatore sincrono
5
A
risposta
0
Credo si può registrare ascoltatore in questo modo:
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);
}
Se ContextStartedEvent non è l'evento giusto per te, è possibile sostituire con ContextStartedEvent ApplicationEvent. Questo è più generico e gestirà tutti gli eventi del ciclo di vita del contesto che l'applicazione può ascoltare.
Problemi correlati
- 1. Primavera Boot + WEB-INF
- 2. Primavera Boot: Impossibile configurare
- 3. Primavera Boot Configuration viewControllerHandlerMapping
- 4. Primavera-boot da classpath
- 5. Primavera-boot Primavera-Security timeout della sessione
- 6. primavera Boot WebSockets in wildfly
- 7. multipli conversionServices in primavera-boot
- 8. Primavera Boot: accessDeniedHandler non funziona
- 9. Primavera-boot lento a partire
- 10. programmazione spegnere applicazione Primavera Boot
- 11. Impostazioni predefinite lanciatore icona
- 12. Primavera Boot reindirizzamento HTTP a HTTPS
- 13. Come utilizzare CommonsMultipartResolver nella primavera del Boot
- 14. Boot-reggette primavera dati JPA senza XML
- 15. Primavera Boot attuatore Salute Tornando GIÙ
- 16. Primavera Nuvola/Boot vs wildfly Swarm
- 17. json formato della data in primavera-boot
- 18. Primavera-boot con Liquibase Sovraccarico Proprietà
- 19. configurazione Web Primavera Boot + Sicurezza + Multi HTTP
- 20. Primavera Boot - autowiring un DataSource Bean
- 21. primavera-boot posizione del registro predefinita
- 22. Primavera Boot + APP + QueryDSL = OrderSpecifier non trovato
- 23. Android: Come creare un lanciatore
- 24. Cosa c'è di sbagliato con RabbitMQ nella primavera del Boot
- 25. Controllo bean di primavera con JavaMelody nel progetto Spring-Boot
- 26. Primavera Boot GS: ComponentScan e ClassNotFoundException per ConnectionFactory
- 27. Register Spring Converter a programmazione programmata in primavera Boot
- 28. primavera Boot e personalizzato pagina di errore 404
- 29. Primavera Boot MVC tra più moduli executeable vaso
- 30. primavera Boot YML e StandAlone Tomcat 8 Server
guardarlo si potrebbe usare una propria implementazione, estendere jar launcher di classe/warlauncher e l'override del metodo di lancio. – MarianP
Sì, capisco che posso sovrascrivere quel metodo facilmente. Il problema è che spring-boot non consente facilmente un modo per utilizzare un mainClass diverso per il metodo di lancio jar. –
Il caricatore di classe di contesto non può essere impostato senza generare un nuovo 'Thread' in modo da evitare problemi se si tenta di cambiare questo metodo. Cosa sta facendo in realtà il tuo "lanciatore di servizi"? –