Apache Tomcat JDBC连接池针对每个连接池进行了动态调整大小的功能。这允许连接池根据运行时需求动态添加或删除连接。在Tomcat 8.5+版本中,该功能已被默认启用。
您可以通过以下方式配置连接池大小:
在这个例子中,最大连接数是100,最大空闲连接是30,连接总等待时间为10秒。
您还可以在运行时动态更改连接池大小,例如:
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/myDataSource");
PoolProperties p = ((org.apache.tomcat.jdbc.pool.DataSource)ds).getPoolProperties();
p.setMaxActive(200);
在这个例子中,我们将最大连接数从100增加到200。
值得注意的是,如果您将连接池大小调整为低于当前活动连接数,那么调整后的任何新连接都将直接关闭,而当前已经获取的连接将继续正常工作,直到它们释放并返回到连接池中。