【发布时间】:2014-03-14 21:14:18
【问题描述】:
我见过许多解决方案,它们都让您首先通过 XML 静态配置不同的数据源,然后使用 AbstractRoutingDataSource 返回一个您在定义数据源时使用的键。
在这里:dynamic datasource routing
但我的情况不同。我不知道我的 Web 应用程序中可能有多少个数据库。我正在构建一个应用程序,每个用户从桌面应用程序上传一个小的 h2 db 转储。 Web 应用程序将下载 h2 db 转储,然后连接到它。
所以让事情变得简单易懂。每个用户都有他/她自己的数据库文件,一旦用户登录,我就需要连接。由于用户数量不固定,我不知道需要连接多少个数据库,因此我无法静态配置它们在 XML 文件中。
如何在 Spring 中执行此操作?此外,不确定是否有帮助,这些 h2 数据库是只读的。我不会给他们写信的。
这是我的配置。
Maven、Spring MVC、JOOQ、H2 数据库
【问题讨论】:
-
由于客户端会发起连接,让他们传递连接所需的内容。只读字符无关紧要。
-
我能做到。我知道如何在用户登录时获得连接。不过我想知道如何使用 Spring 注入。
-
将连接创建和 h2 文件下载抽象化的会话范围 bean 是正确的方法吗?
-
您可以通过编程方式动态创建数据源和其他任何需要的东西(实体管理器工厂)
-
我不确定这是对 spring 的适当使用。但是看看方法注入:docs.spring.io/spring/docs/4.0.0.RELEASE/…
标签: java spring spring-mvc h2 jooq