Druid 是一个开源的分布式实时分析型数据库,由阿里巴巴发起并贡献主要代码。它支持所有 JDBC 兼容的数据库,如 MySQL、Oracle、SQL Server 等。Druid 提供了强大的监控和扩展功能,被广泛应用于大数据实时分析领域。
以下是一个简单的 Druid MySQL 配置示例:
import com.alibaba.druid.pool.DruidDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
public class DruidConfig {
private static DataSource dataSource;
static {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUrl("jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC");
druidDataSource.setUsername("root");
druidDataSource.setPassword("password");
druidDataSource.setInitialSize(5);
druidDataSource.setMinIdle(5);
druidDataSource.setMaxActive(20);
druidDataSource.setMaxWait(60000);
druidDataSource.setTimeBetweenEvictionRunsMillis(60000);
druidDataSource.setMinEvictableIdleTimeMillis(300000);
druidDataSource.setValidationQuery("SELECT 1");
druidDataSource.setTestWhileIdle(true);
druidDataSource.setTestOnBorrow(false);
druidDataSource.setTestOnReturn(false);
druidDataSource.setPoolPreparedStatements(true);
druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(20);
dataSource = druidDataSource;
}
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
}
maxWait
参数的值,或者优化数据库性能。removeAbandoned
和 removeAbandonedTimeout
参数来监控和处理泄漏的连接。请注意,以上配置示例和参考链接仅供参考,实际使用时请根据具体需求和环境进行调整。
领取专属 10元无门槛券
手把手带您无忧上云