【问题标题】:Change Java Spring Boot Bean while runtime在运行时更改 Java Spring Boot Bean
【发布时间】:2017-04-18 13:10:50
【问题描述】:

各位开发者您好,

我使用 Spring Boot 框架创建了一个库。

这个库正在使用@Beans 创建一个动态数据库连接,我在其中创建一个“数据”Bean,它包含 Postgresql db 提供的无限数据源 bean。最后,我想要一个动态的数据库连接,可以从外部触发以更改我想要连接的数据库。存储在 postgres 中的不同数据库的信息。这是在应用程序启动时加载到此 bean 中的。我的问题是,我无法在不同的数据源 bean 之间切换。 Spring boot 正在创建它们,但似乎无法更改在应用程序运行时启动的 bean,该应用程序仅包含无限数据源之一......因此,在重新触发原始 bean 的创建之后,它仍然使用旧数据源。

有没有办法使用 Spring Boot 中的 bean 并在运行时更改它们? 问候, 安德烈亚斯

【问题讨论】:

    标签: java spring spring-boot javabeans


    【解决方案1】:

    我相信您正在请求 DB multitenancy 支持,其中租户信息存储在 Postgres DB 中。

    为多租户支持配置持久层涉及配置:

    • Hibernate、JPA 和数据源属性
    • 数据源 bean
    • 实体管理器工厂 bean
    • 事务管理器 bean
    • Spring Data JPA 和注释驱动的事务

    我最近写了一篇关于Multi-tenant applications using Spring Boot, JPA, Hibernate and Postgres 的博客,虽然租户数据存储在yml“属性”文件中,但将其转换为从数据库读取租户数据应该不难。我认为这将是您想要完成的工作的起点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 2023-01-24
      • 2017-03-17
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      相关资源
      最近更新 更多