title: How to start H2 TCP server on Spring Boot application startup?
body: <p>I'm able to start the H2 TCP server (database in a file) when running app as Spring Boot app by adding following line into the SpringBootServletInitializer main method:</p>
  
  <pre><code>@SpringBootApplication
  public class NatiaApplication extends SpringBootServletInitializer {
      public static void main(String[] args) {
          Server.createTcpServer().start();
          SpringApplication.run(NatiaApplication.class, args);
      }
  }
  </code></pre>
  
  <p>But if I run the WAR file on Tomcat it doesn't work because the main method is not called. Is there a better universal way how to start the H2 TCP server on the application startup before beans get initialized? I use Flyway (autoconfig) and it fails on "Connection refused: connect" probably because the server is not running. Thank you.</p>