feat: 添加 keep-alive-time 参数
This commit is contained in:
@@ -20,6 +20,7 @@ public final class CoreBukkitAPI extends CoreAPI {
|
|||||||
if (datasourceConfig == null) {
|
if (datasourceConfig == null) {
|
||||||
throw new IllegalArgumentException("配置文件中未找到 datasource 节点!");
|
throw new IllegalArgumentException("配置文件中未找到 datasource 节点!");
|
||||||
}
|
}
|
||||||
|
|
||||||
HikariConfig hikariConfig = new HikariConfig();
|
HikariConfig hikariConfig = new HikariConfig();
|
||||||
hikariConfig.setDriverClassName(datasourceConfig.getString("driver"));
|
hikariConfig.setDriverClassName(datasourceConfig.getString("driver"));
|
||||||
hikariConfig.setJdbcUrl(datasourceConfig.getString("url"));
|
hikariConfig.setJdbcUrl(datasourceConfig.getString("url"));
|
||||||
@@ -27,10 +28,12 @@ public final class CoreBukkitAPI extends CoreAPI {
|
|||||||
hikariConfig.setPassword(datasourceConfig.getString("password"));
|
hikariConfig.setPassword(datasourceConfig.getString("password"));
|
||||||
hikariConfig.setMaximumPoolSize(datasourceConfig.getInt("maximum-pool-size", 3));
|
hikariConfig.setMaximumPoolSize(datasourceConfig.getInt("maximum-pool-size", 3));
|
||||||
hikariConfig.setMinimumIdle(datasourceConfig.getInt("minimum-idle", 1));
|
hikariConfig.setMinimumIdle(datasourceConfig.getInt("minimum-idle", 1));
|
||||||
|
hikariConfig.setKeepaliveTime(datasourceConfig.getLong("keep-alive-time", 5 * 1000));
|
||||||
hikariConfig.setIdleTimeout(datasourceConfig.getLong("idle-timeout", 10 * 60 * 1000));
|
hikariConfig.setIdleTimeout(datasourceConfig.getLong("idle-timeout", 10 * 60 * 1000));
|
||||||
hikariConfig.setMaxLifetime(datasourceConfig.getLong("max-lifetime", 30 * 60 * 1000));
|
hikariConfig.setMaxLifetime(datasourceConfig.getLong("max-lifetime", 30 * 60 * 1000));
|
||||||
hikariConfig.setValidationTimeout(datasourceConfig.getLong("validation-timeout", 5000));
|
hikariConfig.setValidationTimeout(datasourceConfig.getLong("validation-timeout", 5000));
|
||||||
hikariConfig.setPoolName("HamsterCore-Pool");
|
hikariConfig.setPoolName("HamsterCore-Pool");
|
||||||
|
|
||||||
datasource = new HikariDataSource(hikariConfig);
|
datasource = new HikariDataSource(hikariConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -153,6 +153,12 @@ public abstract class ParentCommand extends ChildCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
|
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
|
||||||
|
if (args.length == 0) {
|
||||||
|
return childCommands.stream()
|
||||||
|
.filter(o -> o.hasPermission(sender))
|
||||||
|
.map(ChildCommand::getName)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
for (ChildCommand child : childCommands) {
|
for (ChildCommand child : childCommands) {
|
||||||
if (args[0].equalsIgnoreCase(child.getName())) {
|
if (args[0].equalsIgnoreCase(child.getName())) {
|
||||||
return child.onTabComplete(sender, command, alias, Arrays.copyOfRange(args, 1, args.length));
|
return child.onTabComplete(sender, command, alias, Arrays.copyOfRange(args, 1, args.length));
|
||||||
|
@@ -18,8 +18,13 @@ datasource:
|
|||||||
# 推荐值:1~3
|
# 推荐值:1~3
|
||||||
minimum-idle: 0
|
minimum-idle: 0
|
||||||
# 最大链接数
|
# 最大链接数
|
||||||
# 推荐值:不低于5
|
# 推荐值:不低于3
|
||||||
maximum-pool-size: 10
|
maximum-pool-size: 3
|
||||||
|
# 保持连接池可用的间隔
|
||||||
|
# 除非你的服务器数据库连接经常断开,否则不建议启用该选项
|
||||||
|
# 单位:毫秒
|
||||||
|
# 默认值为0(禁用)
|
||||||
|
keep-alive-time: 0
|
||||||
# 连接闲置回收时间
|
# 连接闲置回收时间
|
||||||
# 单位:毫秒
|
# 单位:毫秒
|
||||||
# 推荐值:600000(10分钟)
|
# 推荐值:600000(10分钟)
|
||||||
|
@@ -21,6 +21,7 @@ public final class CoreBungeeAPI extends CoreAPI {
|
|||||||
if (datasourceConfig == null) {
|
if (datasourceConfig == null) {
|
||||||
throw new IllegalArgumentException("配置文件中未找到 datasource 节点!");
|
throw new IllegalArgumentException("配置文件中未找到 datasource 节点!");
|
||||||
}
|
}
|
||||||
|
|
||||||
HikariConfig hikariConfig = new HikariConfig();
|
HikariConfig hikariConfig = new HikariConfig();
|
||||||
hikariConfig.setDriverClassName(datasourceConfig.getString("driver"));
|
hikariConfig.setDriverClassName(datasourceConfig.getString("driver"));
|
||||||
hikariConfig.setJdbcUrl(datasourceConfig.getString("url"));
|
hikariConfig.setJdbcUrl(datasourceConfig.getString("url"));
|
||||||
@@ -28,10 +29,12 @@ public final class CoreBungeeAPI extends CoreAPI {
|
|||||||
hikariConfig.setPassword(datasourceConfig.getString("password"));
|
hikariConfig.setPassword(datasourceConfig.getString("password"));
|
||||||
hikariConfig.setMaximumPoolSize(datasourceConfig.getInt("maximum-pool-size", 3));
|
hikariConfig.setMaximumPoolSize(datasourceConfig.getInt("maximum-pool-size", 3));
|
||||||
hikariConfig.setMinimumIdle(datasourceConfig.getInt("minimum-idle", 1));
|
hikariConfig.setMinimumIdle(datasourceConfig.getInt("minimum-idle", 1));
|
||||||
|
hikariConfig.setKeepaliveTime(datasourceConfig.getLong("keep-alive-time", 5 * 1000));
|
||||||
hikariConfig.setIdleTimeout(datasourceConfig.getLong("idle-timeout", 10 * 60 * 1000));
|
hikariConfig.setIdleTimeout(datasourceConfig.getLong("idle-timeout", 10 * 60 * 1000));
|
||||||
hikariConfig.setMaxLifetime(datasourceConfig.getLong("max-lifetime", 30 * 60 * 1000));
|
hikariConfig.setMaxLifetime(datasourceConfig.getLong("max-lifetime", 30 * 60 * 1000));
|
||||||
hikariConfig.setValidationTimeout(datasourceConfig.getLong("validation-timeout", 5000));
|
hikariConfig.setValidationTimeout(datasourceConfig.getLong("validation-timeout", 5000));
|
||||||
hikariConfig.setPoolName("HamsterCore-Pool");
|
hikariConfig.setPoolName("HamsterCore-Pool");
|
||||||
|
|
||||||
datasource = new HikariDataSource(hikariConfig);
|
datasource = new HikariDataSource(hikariConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -15,7 +15,12 @@ datasource:
|
|||||||
minimum-idle: 0
|
minimum-idle: 0
|
||||||
# 最大链接数
|
# 最大链接数
|
||||||
# 推荐值:不低于5
|
# 推荐值:不低于5
|
||||||
maximum-pool-size: 10
|
maximum-pool-size: 5
|
||||||
|
# 保持连接池可用的间隔
|
||||||
|
# 除非你的服务器数据库连接经常断开,否则不建议启用该选项
|
||||||
|
# 单位:毫秒
|
||||||
|
# 默认值为0(禁用)
|
||||||
|
keep-alive-time: 0
|
||||||
# 连接闲置回收时间
|
# 连接闲置回收时间
|
||||||
# 单位:毫秒
|
# 单位:毫秒
|
||||||
# 推荐值:600000(10分钟)
|
# 推荐值:600000(10分钟)
|
||||||
|
Reference in New Issue
Block a user