我正在开发一个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