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

标签 java mysql tomcat jdbc connection-pooling

问题设置基于网络服务(Spring/Java、Tomcat7 和 MySql),其中每个用户都有自己的数据库,因此每个请求都需要自己的连接。由于所有数据库都是在运行时动态创建的,因此无法在启动前静态配置它们。

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

使用 Java/Spring:如何为动态数据库创建连接池?我对这里缺少clean选项感到有点吃惊!

问题:Tomcat's Connection Pool (据我所知 C3P0 也是如此)将每个新的 DataSource 实例视为一个全新的连接池 -> stack-reference

  1. 创建一个带有通用 MySql 连接的静态数据源(不在连接上指定数据库)并将连接池与此数据源一起使用以及修改后的 SQL 语句是否是个好主意?
    stack-reference
  2. 如何开发一个基于数据源池的自定义持久数据库?在这里有表演经验吗?有什么建议吗?有这样做的图书馆吗?
  3. 或者通过从 Java 动态操作 context.xml 动态创建 Tomcat JNDI 数据源来解决 Tomcat 的数据源问题是否可行?
  4. 我不敢相信没有更多简单/简单的解决方案。 Grails/Hibernate 与此斗争,Java/JDBC 与此斗争,...通过动态创建用户特定的数据库来分离用户数据的用例是否很少见?如果是这样,什么是更好的设置?

编辑

  1. 另一个选项是来自 @M.Deinum 的建议使用单个配置的数据源并为正确的连接动态热交换 -> M.Deinum Blogstack-reference .
    像上面那样的连接池如何执行?

最佳答案

我相信 HikariCP无需指定单个数据库即可工作。

关于java - 动态数据库连接的连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30478737/

相关文章:

mysql - 为整数范围搜索优化 MySQL 查询

c# - 不正确的字符串值 : '\xEF\xBF\xBD' for column

java - tomcat上的文件监听进程

java - JNDI 数据源模式

java方法返回null但不应该

java - Slick Util 只加载所有三个变量的一张图片

java - tomcat 在 RedHat 7 上没有写权限/usr/share/tomcat

javascript - 如何清除 react native 缓存?

mysql - 我应该标准化还是非标准化?

tomcat - 在 Mac 上的 Xampp 中安装 Tomcat 的位置和方法