From 33ef918b18d9583166ea10d1ad41fff0d2c9f80c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=94=8B?= Date: Thu, 7 Sep 2023 10:44:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Hikari=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=B1=A0=E9=85=8D=E7=BD=AE=E5=8F=82=E6=95=B0keepaliveTime?= =?UTF-8?q?=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=A3=80=E6=9F=A5=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=AD=98=E6=B4=BB=EF=BC=8C=E9=80=9A=E8=BF=87?= =?UTF-8?q?validationQuery=E8=BF=9B=E8=A1=8C=E8=BF=9E=E6=8E=A5=E5=AD=98?= =?UTF-8?q?=E6=B4=BB=E6=8E=A2=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/jboot/db/datasource/DataSourceConfig.java | 12 ++++++++++++ .../jboot/db/datasource/HikariDataSourceFactory.java | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/src/main/java/io/jboot/db/datasource/DataSourceConfig.java b/src/main/java/io/jboot/db/datasource/DataSourceConfig.java index bff7ac1b..e7f916c1 100644 --- a/src/main/java/io/jboot/db/datasource/DataSourceConfig.java +++ b/src/main/java/io/jboot/db/datasource/DataSourceConfig.java @@ -86,6 +86,10 @@ public class DataSourceConfig { private String dialectClass; private String activeRecordPluginClass; + /** + * HikariCP 连接探活间隔时间 4.0.1以上版本支持,建议设置为10分钟以内 + */ + private Long keepaliveTime; /** * 是否需要添加到映射 * 在一个表有多个数据源的情况下,应该只需要添加一个映射就可以了, @@ -456,4 +460,12 @@ public class DataSourceConfig { public List getTableInfos() { return tableInfos; } + + public Long getKeepaliveTime() { + return keepaliveTime; + } + + public void setKeepaliveTime(Long keepaliveTime) { + this.keepaliveTime = keepaliveTime; + } } diff --git a/src/main/java/io/jboot/db/datasource/HikariDataSourceFactory.java b/src/main/java/io/jboot/db/datasource/HikariDataSourceFactory.java index 92f3b264..033a5a08 100644 --- a/src/main/java/io/jboot/db/datasource/HikariDataSourceFactory.java +++ b/src/main/java/io/jboot/db/datasource/HikariDataSourceFactory.java @@ -56,6 +56,13 @@ public class HikariDataSourceFactory implements DataSourceFactory { hikariConfig.setConnectionInitSql(config.getConnectionInitSql()); } + if(config.getKeepaliveTime() != null){ + hikariConfig.setKeepaliveTime(config.getKeepaliveTime()); + } + + if(config.getValidationQuery() != null){ + hikariConfig.setConnectionTestQuery(config.getValidationQuery()); + } HikariDataSource dataSource = new HikariDataSource(hikariConfig); -- Gitee