From 587f303ba5d110d9d738bcaa4ed307a63e71b22f Mon Sep 17 00:00:00 2001 From: Govindas Date: Thu, 8 Dec 2022 21:40:28 +0200 Subject: [PATCH] Add max-connection-lifetime to config --- src/main/java/com/btk5h/skriptdb/SkriptDB.java | 2 ++ src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/main/java/com/btk5h/skriptdb/SkriptDB.java b/src/main/java/com/btk5h/skriptdb/SkriptDB.java index 4430ed4..8f4a2ad 100644 --- a/src/main/java/com/btk5h/skriptdb/SkriptDB.java +++ b/src/main/java/com/btk5h/skriptdb/SkriptDB.java @@ -77,6 +77,8 @@ public final class SkriptDB extends JavaPlugin { out.write("# How many connections can be awaited for simultaneously, may be useful to increase if SQL database is hosted on a separate machine to account for ping.\n"); out.write("# If it is hosted within the same machine, set it to the count of cores your processor has or the count of threads your processor can process at once.\n"); out.write("thread-pool-size: " + (Runtime.getRuntime().availableProcessors() + 2) + "\n"); + out.write("How long SQL connections should be kept alive in HikariCP. Default: 1800000 (30 minutes)"); + out.write("max-connection-lifetime: 1800000"); out.write("# Only change this if you wish to use a different driver than Java's default, like MariaDB driver.\n"); out.write("# If you use MariaDB, its driver is shaded together with skript-db, so you can just specify:" + "\"org.mariadb.jdbc.Driver\"" + ".\n"); out.write("sql-driver-class-name: " + "\"default\"" + "\n"); diff --git a/src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java b/src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java index 1834382..081e738 100644 --- a/src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java +++ b/src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java @@ -56,6 +56,8 @@ public class ExprDataSource extends SimpleExpression { HikariDataSource ds = new HikariDataSource(); ds.setMaximumPoolSize(SkriptDB.getInstance().getConfig().getInt("thread-pool-size", 10)); + // 30 minutes by default + ds.setMaxLifetime(SkriptDB.getInstance().getConfig().getInt("max-connection-lifetime", 1800000)); //allow specifying of own sql driver class name if (!SkriptDB.getInstance().getConfig().getString("sql-driver-class-name", "default").equals("default")) { ds.setDriverClassName(SkriptDB.getInstance().getConfig().getString("sql-driver-class-name"));