有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Spring应用程序中Tomcat mysql连接池的java动态选择目录

我需要从运行在tomcat服务器上的spring应用程序创建一个连接池。 此应用程序有许多目录,名为“db”的主目录(其为静态目录)只有一个表,其中包含所有现有目录名,并且“活动”目录有一个布尔标志

当应用程序启动时,我需要从主目录中选择活动目录,然后我必须选择它作为默认目录

我怎样才能做到这一点

直到现在,我使用了一个自定义类DataSourceSelector extends DriverManagerDataSource,但是现在我需要使用一个池来改进db连接,然后我考虑使用tomcat dbcp池


共 (2) 个答案

  1. # 1 楼答案

    我建议采取以下步骤:

    1. 扩展BasicDataSourceFactory以生成定制的BasicDataSource
    2. 那些定制的BasicDataSource将已经知道哪个目录处于活动状态,并相应地设置了defaultCatalog属性
    3. 在Tomcat配置中使用扩展的BasicDataSourceFactory
  2. # 2 楼答案

    @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;
        }
    
    }