使用Java / Spring:如何为动态数据库创建连接池?我在这里缺乏干净的选择有点儿震撼!
问题:Tomcat’s Connection Pool(据我所知,C3P0也将每个新的DataSource实例视为一个全新的连接池 – > stack-reference
>使用通用的MysqL连接创建静态数据源(不指定连接上的数据库),并使用与此数据源的连接池以及适用的sql语句,这是一个好主意吗?
stack-reference
>如何开发一个基于持久数据库的数据源池?有任何表现的经验吗?任何建议?任何图书馆这样做?
>或者是否可以通过从Java动态地操作它的context.xml动态创建Tomcat JNDI数据库来解决Tomcat的DataSource问题?
>我不敢相信没有更简单/简单的解决方案. Grails / Hibernate与此挣扎着,Java / JDBC与此挣扎,…这样一个罕见的用例是通过动态创建用户特定的数据库来分离用户数据?如果是这样,什么是更好的设置?
编辑
>另一种选择是@M.Deinum建议使用单个配置的数据源,并动态地将其替换为正确的连接 – > M.Deinum Blog和stack-reference.如何使用像上述连接池一样执行?
解决方法
根据我的经验,我也有类似的情况,而且是用spring框架来解决的.让我解释一下你如何解决这个问题.
>创建一个具有以下特征的弹簧配置文件:
a)资源加载程序:这是负责从配置文件或数据库的加载属性,这些属性将被用于建立数据库连接.
b)使用要加载的属性参数化的池数据库配置.
>创建一个定位器类:在这个类中,你需要一个HashMap
>使用spring的多上下文功能:这个想法是为您建立的每个连接分配一个代码,并在稍后使用spring将该连接加载到应用程序上下文中,然后在定位器类中,将映射放在该上下文中并将其用作按需要频繁
我认为您是按照这些步骤,您可以根据需要创建动态池或数据库连接.