【发布时间】:2019-09-20 11:32:55
【问题描述】:
我使用 Hikary 连接池,设置如下:
HikariDataSource dataSource = new HikariDataSource();
dataSource.setMinimumIdle(0);
dataSource.setMaximumPoolSize(Integer.MAX_VALUE);
dataSource.setJdbcUrl(jdbcConnectionString);
dataSource.setConnectionTestQuery("select 1");
dataSource.setIdleTimeout(TimeUnit.SECONDS.toMillis(60));
dataSource.getConnection();
在 getConnection() 之后 hikari 尝试获取到实例的 2 个连接,但在连接池中只放入一个连接。我该如何解决?光版本是3.4.0
【问题讨论】:
-
只有 一个 连接的连接 pool 有什么意义?
-
我不知道。我不使用它。如果你找到答案,请告诉我
-
我说得对吗,
getConnection返回 一个 连接对象,但是您看到在数据库中打开了 两个 连接?如果您坚持一个连接池,您可以尝试将maximum-pool-size 设置为1。 -
是的,hikari 第一次在某处创建了两个连接,但在连接池中只添加了一个
-
你不应该这样做:
setMaximumPoolSize(Integer.MAX_VALUE)。将其限制在一个合理的数字(例如,5 或 10 用于小容量应用程序,并在您的应用程序需要时“扩展”)。