You can configure your connection pool to ignore exceptions on creation.
There is a property called "ignoreExceptionOnPreLoad" which you can set to
"true". Then the application will start even though the database is
unavailable.

Look under "Database" in the link below:
https://www.dropwizard.io/en/stable/manual/configuration.html
<https://www.dropwizard.io/en/stable/manual/configuration.html#Database>

Best regards
Oscar Nalin

Den fre 7 feb. 2020 21:22siraj <[email protected]> skrev:

> In DW 2, I'm starting a secondary db that relies on a VPN connection.
>
> Currently if VPN is unavailable DW fails to start with DB exception.
> What's the best approach to ignore DB availability and continue startup and
> optionally, try later?
>
> My run method
>     @Override
>     public void run(final AppConfiguration configuration, final
> Environment environment) throws Exception {
>
>         final Injector injector = Guice.createInjector(new
> ServiceModule());
>
>         final JdbiFactory jdbiFactory = new JdbiFactory();
>         jdbi = jdbiFactory.build(environment,
> configuration.getDataSourceFactory(), "sqlserver");
>
> environment.jersey().register(injector.getInstance(JumpResource.class));
>     }
>
>
> Without VPN:
> ERROR [2020-02-07 18:35:48,409] org.apache.tomcat.jdbc.pool.ConnectionPool
> : Unable to create initial connections of pool.
> ! com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the
> host DEVSQL2, named instance sqlserver16 failed. Error: 
> "java.net.UnknownHostException:
> DEVSQL2". Verify the server and instance names and check that no firewall
> is blocking UDP traffic to port 1434.  For SQL Server 2005 or later,
> verify that the SQL Server Browser Service is running on the host.
> ! at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(
> SQLServerException.java:234)
> ! at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(
> SQLServerConnection.java:5963)
> ! at com.microsoft.sqlserver.jdbc.SQLServerConnection.
> primaryPermissionCheck(SQLServerConnection.java:2383)
> ! at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(
> SQLServerConnection.java:2126)
> ! at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(
> SQLServerConnection.java:1993)
> ! at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(
> SQLServerConnection.java:1164)
> ! at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.
> java:760)
> ! at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(
> PooledConnection.java:319)
> ! at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection
> .java:212)
> ! at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(
> ConnectionPool.java:744)
> ! at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(
> ConnectionPool.java:676)
> ! at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:
> 483)
> ! at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java
> :154)
> ! at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(
> DataSourceProxy.java:118)
> ! at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(
> DataSourceProxy.java:107)
> ! at io.dropwizard.db.ManagedPooledDataSource.start(
> ManagedPooledDataSource.java:37)
> ! at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
> ! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
> AbstractLifeCycle.java:72)
> ! at org.eclipse.jetty.util.component.ContainerLifeCycle.start(
> ContainerLifeCycle.java:169)
> ! at org.eclipse.jetty.server.Server.start(Server.java:407)
> ! at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(
> ContainerLifeCycle.java:117)
> ! at org.eclipse.jetty.server.handler.AbstractHandler.doStart(
> AbstractHandler.java:97)
> ! at org.eclipse.jetty.server.Server.doStart(Server.java:371)
> ! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
> AbstractLifeCycle.java:72)
> ! at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
> ! at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:45)
> ! at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:87)
> ! at io.dropwizard.cli.Cli.run(Cli.java:79)
> ! at io.dropwizard.Application.run(Application.java:94)
> ! at com.barone.JumpApplication.main(JumpApplication.java:28)
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "dropwizard-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dropwizard-user/a2b35316-b89c-4778-8ae6-545214b4c54a%40googlegroups.com
> <https://groups.google.com/d/msgid/dropwizard-user/a2b35316-b89c-4778-8ae6-545214b4c54a%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dropwizard-user/CAFU8%3D6dw_6sJeCeAxWXHk%2Brptxjz9o1oWaNXys51e2GZbzHYkQ%40mail.gmail.com.

Reply via email to