繁体   English   中英

在运行时更改Java Spring Boot Bean

[英]Change Java Spring Boot Bean while runtime

各位开发人员大家好,

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

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

有没有一种方法可以使用Spring Boot中的bean并在运行时进行更改? 问候安德烈亚斯

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

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

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

我最近在博客中介绍了使用Spring Boot,JPA,Hibernate和Postgres的多租户应用程序 ,尽管租户数据存储在yml “属性”文件中,但将其转换为从数据库读取租户数据并不难。 我认为这将是您想要完成的目标的起点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM