连接池
HikariPool
HikariCP 是一个高性能的 JDBC 连接池,广泛应用于 Java 应用程序中。它以其快速、简单和可靠而著称,能够在各种环境中提供卓越的性能
配置示例
要使用 HikariCP,可以通过多种方式进行配置,例如使用 HikariConfig 类、直接实例化 HikariDataSource 或使用属性文件。以下是一些常见的配置示例:
使用 HikariConfig 类
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/simpsons");
config.setUsername("bart");
config.setPassword("51mp50n");
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("prepStmtCacheSize", "250");
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
HikariDataSource ds = new HikariDataSource(config);
直接实例化 HikariDataSource
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl("jdbc:mysql://localhost:3306/simpsons");
ds.setUsername("bart");
ds.setPassword("51mp50n");
使用属性文件
HikariConfig config = new HikariConfig("/some/path/hikari.properties");
HikariDataSource ds = new HikariDataSource(config);
属性文件
dataSourceClassName=org.postgresql.ds.PGSimpleDataSource
dataSource.user=test
dataSource.password=test
dataSource.databaseName=mydb
dataSource.portNumber=5432
dataSource.serverName=localhost
常用配置参数
HikariCP 提供了许多配置参数来优化连接池的性能。以下是一些常用的参数:
- maxLifetime: 池中连接的最大生存期,默认30分钟,不能小于30秒。
- connectionTimeout: 等待来自池的连接的最大毫秒数,默认30秒,不能小于250毫秒。
- validationTimeout: 测试连接的活动性的最长时间,默认5秒,不能小于250毫秒。
- maxPoolSize: 池达到的最大连接数,默认10。
- minIdle: 池中的最小空闲连接数,默认等于 maxPoolSize。
- idleTimeout: 允许连接在池中保持空闲状态的最长时间,默认10分钟。