我在一个简单的spring启动应用程序中有以下代码。。。
@Bean
public DataSource getDatasource(){
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName(driver);
ds.setUsername(username);
ds.setUrl(url);
ds.setPassword(password);
return ds;
}
这工作得很好,但我想连接池,所以我改为。。。
@Bean
public DataSource getDatasource(){
try{
OracleConnectionPoolDataSource ds = new OracleConnectionPoolDataSource();
ds.setDriverType("thin");
ds.setUser(username);
ds.setNetworkProtocol("tcp");
ds.setPassword(password);
ds.setDatabaseName(dbName);
ds.setServerName(serverName);
return ds;
} catch (SQLException throwables) {
logger.error(throwables);
System.exit(-1);
}
return null;
}
但从文件来看 getConnection
只返回一个本机连接,我需要配置spring来调用 getPooledConnection
相反。
有没有其他的bean我可以创建或者其他的方法可以做到这一点?
2条答案
按热度按时间x4shl7ld1#
如果你用oracle做这个,你应该使用一个叫做ucp或通用连接池的库。。。
然后我用它来创建数据源,比如。。。
我正在完成我的测试,以确保它是预期的工作。
3lxsmp7m2#
要使用通用连接池(ucp),您确实需要类路径中的ucp.jar。有关示例,请参阅ucpsample.java。