我有一个带有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
答案 0 :(得分:0)
看看example code。在那里您可以找到已经实施的有效解决方案。
其背后的逻辑是EnableJpaRepositories
,它基于软件包(basePackages
)启用它