HikariCP соединение закрыто

Примерно через 24-48 часов я начинаю получать:

java.sql.SQLException: Connection is closed
    at com.zaxxer.hikari.pool.ProxyConnection$ClosedConnection.lambda$getClosedConnection$0(ProxyConnection.java:466)
    at com.sun.proxy.$Proxy14.prepareStatement(Unknown Source)
    at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:311)
    at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java)
    at com.wingify.pushcrew.utils.MysqlUtils.updatePushStatus(MysqlUtils.java:141)
    at com.wingify.pushcrew.threads.PushStatusConsumer.run(PushStatusConsumer.java:82)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Вот как выглядит конфиг HikariCP на моем конце:

        config.setJdbcUrl(DeploymentProfileProvider.getDatabaseProperties().getProperty("mysql.url"));           config.setUsername(DeploymentProfileProvider.getDatabaseProperties().getProperty("mysql.username"));          config.setPassword(DeploymentProfileProvider.getDatabaseProperties().getProperty("mysql.password"));             config.setHealthCheckRegistry(ApplicationUtils.getHealthCheckRegistry());
config.setDriverClassName(DeploymentProfileProvider.getDatabaseProperties().getProperty("mysql.driver"));
            config.setMetricRegistry(ApplicationUtils.getMetricRegistry());
            config.addDataSourceProperty("autoReconnect", true);
            config.setMaximumPoolSize(40);
            config.setConnectionTimeout(30000);
            config.setLeakDetectionThreshold(60 * 1000);
            config.setIdleTimeout(90000);
            config.setMaxLifetime(123000);
            config.setValidationTimeout(5000);
            config.setInitializationFailTimeout(0);

и как только это произойдет, мы продолжаем возвращать его обратно, и оно не остановится, пока мы не запустим приложение? Какой идеальный и неидеальный способ это исправить? Минимум не позволяет приложению быть затронутым.

0 ответов

Другие вопросы по тегам