加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 动态数据库连接的连接池

发布时间:2020-12-14 05:27:10 所属栏目:Java 来源:网络整理
导读:问题的设置是基于一个Web服务( Spring / Java,Tomcat7和 MySql),每个用户都获取自己的数据库,因此每个请求都需要自己的连接.由于所有数据库都是在运行时动态创建的,所以在启动之前静态配置不是一个选择. 要优化数据库连接使用情况,数据库连接池的实现会很好,
问题的设置是基于一个Web服务( Spring / Java,Tomcat7和 MySql),每个用户都获取自己的数据库,因此每个请求都需要自己的连接.由于所有数据库都是在运行时动态创建的,所以在启动之前静态配置不是一个选择.

要优化数据库连接使用情况,数据库连接池的实现会很好,对吧?

使用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将该连接加载到应用程序上下文中,然后在定位器类中,将映射放在该上下文中并将其用作按需要频繁

我认为您是按照这些步骤,您可以根据需要创建动态池或数据库连接.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读