首页 文章

Spring Boot和Spring Data应用程序,在运行时创建了多个DataSource

提问于
浏览
9

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

1 回答

  • 6

    希望答案还不算太晚;)

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

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

    这是一个展示如何集成它的示例 . https://github.com/Dactabird/multitenancy-sample在这个例子中,我使用的是H2嵌入式数据库 . 但是你当然可以随心所欲地使用它 .

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

相关问题