sono in grado di avviare il server TCP H2 (database in un file) durante l'esecuzione di app come Primavera di avvio applicazione aggiungendo seguente riga nel metodo principale SpringBootServletInitializer:Come avviare il server H2 TCP all'avvio dell'applicazione Spring Boot?
@SpringBootApplication
public class NatiaApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
Server.createTcpServer().start();
SpringApplication.run(NatiaApplication.class, args);
}
}
Ma se ho eseguito il file WAR su Tomcat non funziona perché il metodo principale non viene chiamato. C'è un modo universale migliore per avviare il server H2 TCP all'avvio dell'applicazione prima che i bean vengano inizializzati? Uso Flyway (autoconfig) e non riesce su "Connessione rifiutata: connetti" probabilmente perché il server non è in esecuzione. Grazie.
Purtroppo questo non funziona per me. Sembra che il bean Flyway autoconfigurato venga creato prima del bean di server H2 e non riesca a rifiutare la connessione. Ho bisogno di avviare il server H2 prima di qualsiasi bean. – Vojtech
@Vojtech Per sapere come fare in modo che i bean dipendano dagli altri bean che iniziano per primi, vedere: http: // stackoverflow.com/domande/7868335/primavera-make-sicuro-a-particolare-bean-viene-inizializzato-prima – BobMcGee