From 456c654b14dd198e157a62a05ec79fdfb7c2a6ca Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Thu, 3 Nov 2022 15:06:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/plugin/core/bukkit/api/CoreBukkitAPI.java | 6 ++++-- hamster-core-bukkit/src/main/resources/config.yml | 8 +++++--- .../mc/plugin/core/bungee/api/CoreBungeeAPI.java | 9 +++++++-- hamster-core-bungeecord/src/main/resources/config.yml | 8 +++++--- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/api/CoreBukkitAPI.java b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/api/CoreBukkitAPI.java index b4cd3ba..df84997 100644 --- a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/api/CoreBukkitAPI.java +++ b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/api/CoreBukkitAPI.java @@ -27,8 +27,10 @@ public final class CoreBukkitAPI extends CoreAPI { hikariConfig.setPassword(datasourceConfig.getString("password")); hikariConfig.setMaximumPoolSize(datasourceConfig.getInt("maximum-pool-size", 3)); hikariConfig.setMinimumIdle(datasourceConfig.getInt("minimum-idle", 1)); - hikariConfig.setIdleTimeout(datasourceConfig.getLong("idle-timeout", 5 * 60 * 1000)); - hikariConfig.setMaxLifetime(datasourceConfig.getLong("max-lifetime", 0)); + hikariConfig.setIdleTimeout(datasourceConfig.getLong("idle-timeout", 10 * 60 * 1000)); + hikariConfig.setMaxLifetime(datasourceConfig.getLong("max-lifetime", 30 * 60 * 1000)); + hikariConfig.setValidationTimeout(datasourceConfig.getLong("validation-timeout", 5000)); + hikariConfig.setPoolName("HamsterCore-Pool"); datasource = new HikariDataSource(hikariConfig); } diff --git a/hamster-core-bukkit/src/main/resources/config.yml b/hamster-core-bukkit/src/main/resources/config.yml index 4442051..eb59863 100644 --- a/hamster-core-bukkit/src/main/resources/config.yml +++ b/hamster-core-bukkit/src/main/resources/config.yml @@ -17,13 +17,15 @@ datasource: maximum-pool-size: 10 # 最小链接数 minimum-idle: 1 - # 超时回收时间 + # 连接闲置回收时间 # 单位:毫秒 - idle-timeout: 300000 + idle-timeout: 600000 # 链接最长存活时间 # 单位:毫秒 - # 建议设置为比数据库上的 wait_timeout 参数少 30 秒 max-lifetime: 1800000 + # 验证连接存活的超时时间 + # 单位:毫秒 + validation-timeout: 5000 messages: COMMAND_NOT_FOUND: diff --git a/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/api/CoreBungeeAPI.java b/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/api/CoreBungeeAPI.java index b554fe2..49adedb 100644 --- a/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/api/CoreBungeeAPI.java +++ b/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/api/CoreBungeeAPI.java @@ -19,6 +19,9 @@ public final class CoreBungeeAPI extends CoreAPI { Configuration config = BungeeCordUtils.getPluginConfig(plugin); Configuration datasourceConfig = config.getSection("datasource"); + if (datasourceConfig == null) { + throw new IllegalArgumentException("配置文件中未找到 datasource 节点!"); + } HikariConfig hikariConfig = new HikariConfig(); hikariConfig.setDriverClassName(datasourceConfig.getString("driver")); hikariConfig.setJdbcUrl(datasourceConfig.getString("url")); @@ -26,8 +29,10 @@ public final class CoreBungeeAPI extends CoreAPI { hikariConfig.setPassword(datasourceConfig.getString("password")); hikariConfig.setMaximumPoolSize(datasourceConfig.getInt("maximum-pool-size", 3)); hikariConfig.setMinimumIdle(datasourceConfig.getInt("minimum-idle", 1)); - hikariConfig.setIdleTimeout(datasourceConfig.getLong("idle-timeout", 5 * 60 * 1000)); - hikariConfig.setMaxLifetime(datasourceConfig.getLong("max-lifetime", 0)); + hikariConfig.setIdleTimeout(datasourceConfig.getLong("idle-timeout", 10 * 60 * 1000)); + hikariConfig.setMaxLifetime(datasourceConfig.getLong("max-lifetime", 30 * 60 * 1000)); + hikariConfig.setValidationTimeout(datasourceConfig.getLong("validation-timeout", 5000)); + hikariConfig.setPoolName("HamsterCore-Pool"); datasource = new HikariDataSource(hikariConfig); } diff --git a/hamster-core-bungeecord/src/main/resources/config.yml b/hamster-core-bungeecord/src/main/resources/config.yml index 8c440e9..2632f34 100644 --- a/hamster-core-bungeecord/src/main/resources/config.yml +++ b/hamster-core-bungeecord/src/main/resources/config.yml @@ -17,10 +17,12 @@ datasource: maximum-pool-size: 10 # 最小链接数 minimum-idle: 1 - # 超时回收时间 + # 连接闲置回收时间 # 单位:毫秒 - idle-timeout: 300000 + idle-timeout: 600000 # 链接最长存活时间 # 单位:毫秒 - # 建议设置为比数据库上的 wait_timeout 参数少 30 秒 max-lifetime: 1800000 + # 验证连接存活的超时时间 + # 单位:毫秒 + validation-timeout: 5000