我能夠通過添加下面一行到SpringBootServletInitializer主要方法運行的應用程序如春啓動應用程序時,啓動TCP H2服務器(在一個文件數據庫):如何在Spring Boot應用程序啓動時啓動H2 TCP服務器?
@SpringBootApplication
public class NatiaApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
Server.createTcpServer().start();
SpringApplication.run(NatiaApplication.class, args);
}
}
但如果我上運行WAR文件它不起作用,因爲主方法沒有被調用。在bean初始化之前,如何在應用程序啓動時啓動H2 TCP服務器,有更好的通用方法嗎?我使用Flyway(自動配置),並且由於服務器沒有運行而導致「Connection refused:connect」失敗。謝謝。
不幸的是,這並不適用於我。似乎自動配置的Flyway bean是在H2服務器bean之前創建的,並且連接拒絕失敗。我需要在任何bean之前啓動H2服務器。 – Vojtech
@Vojtech有關如何使bean首先依賴於其他bean,請參閱:http:// stackoverflow。COM /問題/ 7868335 /彈簧化妝肯定-A-特定-豆被初始化爲先 – BobMcGee