小编man*_*cks的帖子

为什么 HikariCP 在启动时为 Tomcat 中的每个 Web 应用程序创建新连接

当我将 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)

mysql c3p0 tomcat7 hikaricp

3
推荐指数
1
解决办法
2307
查看次数

标签 统计

c3p0 ×1

hikaricp ×1

mysql ×1

tomcat7 ×1