适用于 Oracle 的 HikariConfig 池
Posted
技术标签:
【中文标题】适用于 Oracle 的 HikariConfig 池【英文标题】:HikariConfig pool for Oracle 【发布时间】:2018-02-17 09:59:22 【问题描述】:我想为 Oracle 配置 HikariConfig 池:
Properties props = new Properties();
props.setProperty("dataSourceClassName", "oracle.jdbc.driver.OracleDriver");
props.setProperty("dataSource.user", bundle.getString("db.user"));
props.setProperty("dataSource.password", bundle.getString("db.password"));
props.setProperty("dataSource.databaseName", "xe");
config = new HikariConfig(props);
ds = new HikariDataSource(config);
但我得到了这个错误
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassCastException: Cannot cast oracle.jdbc.driver.OracleDriver to javax.sql.DataSource
at com.zaxxer.hikari.util.UtilityElf.createInstance(UtilityElf.java:93)
at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:339)
at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:118)
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:106)
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:72)
at
【问题讨论】:
【参考方案1】:您正在尝试将驱动程序设置为数据源类。
我就是这样做的,
HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(10);
config.setMinimumIdle(5);
config.setDriverClassName("org.hsqldb.jdbc.JDBCDriver");
config.setJdbcUrl("jdbc:hsqldb:hsql://localhost/");
config.addDataSourceProperty("user", "SA");
config.addDataSourceProperty("password", "");
HikariDataSource ds = new HikariDataSource(config);
System.out.print("Data source created");
Connection conn = ds.getConnection();
【讨论】:
以上是关于适用于 Oracle 的 HikariConfig 池的主要内容,如果未能解决你的问题,请参考以下文章
-XX:+HeapDumpOnOutOfMemoryError 选项是不是适用于 Oracle 应用服务器?