在运行时更改Java Spring Boot Bean

时间:2017-04-18 13:10:51

标签: java spring spring-boot javabeans

Hello开发人员,

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

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

有没有办法在春季启动时使用bean并在运行时更改它们? 问候, 安德烈亚斯

1 个答案:

答案 0 :(得分:0)

我相信您要求获得DB Postgres支持,其中租户信息存储在yml数据库中。

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

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

我最近发表了关于renderOutputBuffer的博客,虽然租户数据存储在{{1}}"属性"文件,将其转换为从DB读取租户数据并不困难。我认为这将是你想要完成的目标的起点。