当我将 Tomcat 7 的 HikariCP 定义为 context.xml 中的 JNDI 时,如下所示,每次部署新的 Web 应用程序时,它都会打开与 mysql 服务器的新连接。例如,如果我在 Tomcat 中有 5 个应用程序,它将打开 50 个连接,每个应用程序 10 个。然而,在C3p0中,使用相同的设置和相同的tomcat实例,它只创建一个具有10个连接的池,并与所有应用程序共享该池。我的意思是,在 C3P0 中,池不会为每个应用程序打开新连接,而在 HikariCP 中,它会打开新连接。这样做是有原因的吗?有什么办法可以改变它吗?
<Resource name="jdbc/testDatasource"
auth="Container"
factory="com.zaxxer.hikari.HikariJNDIFactory"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
jdbcUrl="jdbc:mysql://localhost:3306/football"
username="xxx"
password="xxx"
minimumIdle="3" maximumPoolSize="10" connectionTimeout="300000" maxLifetime="1800000" />
Run Code Online (Sandbox Code Playgroud)