多个数据库之间的Spring Boot切换(数据源)

问题描述 投票:0回答:1

我有一个带有2个不同设置(= 2个不同的jar)的项目的spring boot REST API应用程序。两者都需要实现,但是我不知道该怎么做或最好的方法。

这两个设置都需要与在线数据库(在服务器上; AWS)建立连接,并与离线或本地数据库(在计算机/个人计算机上运行)建立连接。两种设置之间的区别是脱机连接或本地连接。


设置1:当应用程序启动时,它需要连接到在线数据库。当发生错误或与联机数据库的连接丢失时,它需要连接至脱机/本地数据库。

不需要在发生错误或连接丢失后重新连接在线数据库。

设置2:启动应用程序时,它需要同时连接到在线和离线数据库。因此,当用户向REST API发布信息时,需要更新联机和脱机数据库(除非发生错误或与联机数据库的连接丢失)。如果用户只是发出获取请求,则最好从联机数据库中获取数据,除非发生错误或与联机数据库的连接丢失,否则它可以使用脱机数据库。

不需要在发生错误或连接丢失后重新连接在线数据库,但是在这种设置下,它会很好。也不需要再次建立连接后同步数据(但这可能是一个不错的功能)。


我已经看到a similar post解决方案使用ha-jdbc的地方,但这是一个古老的帖子...当我尝试将依赖项添加到pom.xml文件中时,Maven找不到该依赖项。

经过更多搜索并尝试后,我能够将ha-jdbc添加到我的pom.xml中。我要做的是添加一个包含ha-jdbc的存储库。

<project>
    <repositories>
        <repository>
            <id>jbossrepository</id>
            <name>jbossrepository</name>
            <url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/</url>
        </repository>
    </repositories>
    <dependency>
        <dependency>
            <groupId>net.sf.ha-jdbc</groupId>
            <artifactId>ha-jdbc</artifactId>
            <version>3.0.3</version>
        </dependency>
    </dependency>
</project>

还有,看看我是否可以使它正常工作,以及它是否正是我所寻找的...ha-jdbc不值得尝试,一个或另一个错误或问题,它也只是旧的Java ...


版本:-Java:1.8-org.springframework.boot(spring-boot-starter-parent):2.1.8.RELEASE-数据库(在线和离线):PostgreSQL 11.5

java postgresql spring-boot multiple-databases
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.