2017-04-18 127 views
0

您好开发伙伴,运行时更改Java Spring Boot Bean

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

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

有没有办法从spring引导中使用bean并在运行时更改它们? 的问候,我相信你 安德烈亚斯

回答

0

所要求的DB multitenancy支持那里的租户信息存储在一个Postgres DB。

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

  • 的Hibernate,JPA和数据源的属性
  • 数据源豆
  • 实体管理器工厂豆
  • 事务管理器bean
  • 春天数据JPA和注释驱动的交易

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