【问题标题】:Using Spring to connect to a database that dynamically changes使用Spring连接动态变化的数据库
【发布时间】: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


【解决方案1】:

如果你想动态改变数据库的变化,你必须为数据库源信息编写 UI 并设置为 4.0 版本的 spring 配置文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多