How to programmatically change databases in Spring with one DataSource?

后端 未结 2 425
鱼传尺愫
鱼传尺愫 2020-12-08 08:49

I\'m looking to see what\'s the best way to use one DataSources in Spring but be able to switch the database from within the Java code? Below are my two DataSources and the

2条回答
  •  遥遥无期
    2020-12-08 09:07

    You can do this by extending the Spring's AbstractRoutingDataSource and wrapping your existing data sources in it. Check this article for details. Quoting from the article:

    The general idea is that a routing DataSource acts as an intermediary – while the 'real' DataSource can be determined dynamically at runtime based upon a lookup key.

    Also see similar questions on SO:

    1. Using AbstractRoutingDataSource to dynamically change the database schema/catalog
    2. Reading from multiple Db's with same Persistence Unit?
    3. How to create Dynamic connections (datasource) in spring using JDBC

提交回复
热议问题