用于高并发Web应用程序的PoolingDataSource属性

时间:2015-03-27 23:33:38

标签: java jdbc apache-commons-dbcp

我正在开发一个Web应用程序,我需要从Apache Commons DBCP配置PoolingDataSource以支持某种级别的用户并发。我试过BasicDataSource,但它似乎不是解决方案。关键是在BasicDataSource中我可以设置一些参数如下:

BasicDataSource dataSource = new BasicDataSource();

dataSource.setDriverClassName("org.h2.Driver");
dataSource.setUsername("sa");
dataSource.setPassword("");
dataSource.setUrl("jdbc:h2:mem:");
dataSource.setMaxActive(10);
dataSource.setMaxIdle(5);
dataSource.setInitialSize(5);
dataSource.setValidationQuery("SELECT 1"); 

它将初始化5 Connections并将它们保存在池中并执行其操作。我还可以使用{{1>} NumActiveConnections NumIdleConnections 来获取一些统计信息。现在,使用BasicDataSource,如何将这些值属性设置为DataSources?以及如何从池中获取一些连接统计信息?

最后一个问题,为了使用连接,我应该在每次需要Connection时设置一个DataSource,还是应该在静态变量中设置一个唯一的DataSource并从那里创建所有的连接?我该如何管理DataSoures和Connections?

我目前使用以下代码设置DataSource:

PoolingDataSource

0 个答案:

没有答案