繁体   English   中英

具有在运行时创建的多个数据源的Spring Boot和Spring Data应用程序

[英]Spring Boot and Spring Data application with multiple DataSources created in runtime

我正在开发一个使用Spring Data JPA的Spring Boot应用程序,它将需要连接到许多不同的数据库,例如PostreSQL,MySQL,MS-SQL,MongoDB。 我需要在运行时创建所有数据源,即用户在启动的应用程序中通过GUI选择这些数据:-driver(列表之一),-source,-port,-username,-password。 毕竟,他编写了本地sql来选择数据库并获得结果。 我在堆栈和春季论坛(例如AbstractRoutingDataSource)中阅读了很多有关它的内容,但是所有这些教程都展示了如何从xml配置或java bean中的静态定义创建数据源。 是否可以在运行时创建许多数据源? 如何管理交易以及如何创建许多sessionFactories? 可以使用@Transactional注释吗? 最好的方法是什么? 有人可以解释一下我如何“逐步”执行此操作吗?

希望答案还为时不晚;)

我开发了一个可以轻松集成到任何春季项目中的模块。 它使用元数据源来保存租户数据源连接详细信息。 对于租户数据源,使用AbstractRoutingDataSource。

在这里,您可以找到使用AbstractRoutingDataSource的核心实现。 https://github.com/Dactabird/multitenancy

这是显示如何集成它的示例。 https://github.com/Dactabird/multitenancy-sample在此示例中,我正在使用H2嵌入式数据库。 但是当然您可以使用任何您想要的东西。

可以根据您的目的随意修改它,或者询问是否还有问题!

暂无
暂无

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

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