新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

c3p0数据库连接池配置总结,c3p0数据库连接池连接不上hive

发布时间:2023-10-12 09:50:57

c3p0数据库连接池配置总结

C3P0是一个开源的数据库连接池,可以用于在Java利用程序中管理数据库连接。下面是C3P0数据库连接池的配置总结:

1. 配置数据源:

java
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase");
dataSource.setUser("username");
dataSource.setPassword("password");


2. 配置连接池参数:

java
dataSource.setInitialPoolSize(5); // 初始连接数
dataSource.setMinPoolSize(1); // 最小连接数
dataSource.setMaxPoolSize(20); // 最大连接数
dataSource.setMaxIdleTime(300); // 最大空闲时间,单位秒
dataSource.setAcquireIncrement(5); // 每次获得连接时增加的连接数
dataSource.setAcquireRetryAttempts(3); // 获得连接失败时的重试次数
dataSource.setAcquireRetryDelay(1000); // 获得连接失败时的重试延迟,单位毫秒
dataSource.setBreakAfterAcquireFailure(false); // 获得连接失败时是否是断开数据源


3. 配置连接测试:

java
dataSource.setTestConnectionOnCheckout(true); // 在从连接池中获得连接时测试连接的可用性
dataSource.setTestConnectionOnCheckin(true); // 在归还连接到连接池时测试连接的可用性
dataSource.setPreferredTestQuery("SELECT 1"); // 测试连接的SQL语句


4. 配置连接池性能参数:

java
dataSource.setMaxStatements(100); // 缓存的PreparedStatement数量
dataSource.setMaxStatementsPerConnection(10); // 每一个连接缓存的PreparedStatement数量
dataSource.setNumHelperThreads(10); // 辅助线程数量


5. 配置连接池日志:

java
dataSource.setDebugUnreturnedConnectionStackTraces(true); // 打开未归还连接的堆栈跟踪日志
dataSource.setUnreturnedConnectionTimeout(30); // 未归还连接的超时时间,单位秒


以上是C3P0数据库连接池的基本配置总结,根据具体利用的需求和数据库的情况,可以根据需要进行相应的调剂和优化。