2017-04-18 51 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「屬性」文件中,但將其轉換爲從數據庫讀取租戶數據應該不困難。我認爲這將是你想要完成的一個起點。