我需要从运行在tomcat服务器中的spring应用程序创建连接池。 这个应用程序有很多目录,名为'db'的主目录(它是静态的)只有一个包含所有现有目录名称的表和一个用于“活动”目录的布尔标志。
当应用程序启动时,我需要从主目录中选择活动目录,然后我必须选择它作为默认目录。
我该如何做到这一点?
到目前为止,我使用了自定义类DataSourceSelector extends DriverManagerDataSource
,但现在我需要使用池改进数据库连接,然后我想到了一个tomcat dbcp池。
答案 0 :(得分:1)
我建议采取以下步骤:
BasicDataSourceFactory
以生成自定义的BasicDataSource
。BasicDataSource
已经知道哪个目录处于活动状态并且相应地设置了defaultCatalog
属性。BasicDataSourceFactory
。答案 1 :(得分:-1)
@Configuration
public class DataAccessConfiguration {
@Bean(destroyMethod = "close")
public javax.sql.DataSource dataSource() {
org.apache.tomcat.jdbc.pool.DataSource ds = new org.apache.tomcat.jdbc.pool.DataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost/db");
ds.setUsername("javauser");
ds.setPassword("");
ds.setInitialSize(5);
ds.setMaxActive(10);
ds.setMaxIdle(5);
ds.setMinIdle(2);
ds.get
return ds;
}
}