Ich bin in der Lage, den H2 TCP Server (Datenbank in einer Datei) zu starten, wenn durch Zugabe folgende Zeile in die SpringBootServletInitializer Hauptmethode App als Frühling Boot-App ausgeführt wird:Wie startet man den H2 TCP Server beim Start der Spring Boot Anwendung?
@SpringBootApplication
public class NatiaApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
Server.createTcpServer().start();
SpringApplication.run(NatiaApplication.class, args);
}
}
Aber wenn ich die WAR-Datei laufe auf Tomcat funktioniert nicht, weil die Hauptmethode nicht aufgerufen wird. Gibt es eine bessere universelle Möglichkeit, den H2 TCP-Server beim Start der Anwendung zu starten, bevor die Beans initialisiert werden? Ich benutze Flyway (autoconfig) und es scheitert an "Connection refused: connect" wahrscheinlich weil der Server nicht läuft. Vielen Dank.
Leider funktioniert das nicht für mich. Es scheint, dass die automatisch konfigurierte Flyway-Bean vor dem H2-Server-Bean erstellt wurde und bei fehlgeschlagener Verbindung fehlschlägt. Ich brauche H2 Server vor irgendwelchen Beans gestartet zu werden. – Vojtech
@Vojtech Wie Sie festlegen, dass Beans von anderen Beans abhängig sind, die zuerst gestartet werden, finden Sie unter: http: // stackoverflow.com/questions/7868335/spring-make-sure-a-particular-bohnen-initialisiert-zuerst – BobMcGee