SpringBoot不同的连接池到同一数据库

时间:2018-10-03 10:20:07

标签: java spring spring-boot spring-data-jpa

我有JpaRepository<Person, UUID>连接到数据库。 是否可以从不同的控制器为同一存储库创建不同的连接池?

从控制器A到控制器B,我要有一个单独的连接池。

我想我应该创建两个指向同一数据库的DataSource,但是我不知道如何指出哪个控制器使用哪个DataSource。也许我应该创建两个Repositories

2 个答案:

答案 0 :(得分:1)

考虑浏览博客https://www.baeldung.com/spring-data-jpa-multiple-databases,以更好地了解如何为不同的数据源配置不同的连接池和实体管理器。对于您的用例,我们可以将它们都指向同一个数据源。

然后,为同一对象创建两个不同的存储库,并通过@EnableJpaRepositories批注,将两个不同的事务管理器指向两个不同的存储库类路径。

假设您有两个不同的存储库,分别是repositoryA和repositoryB,然后在Controller A中,注入repositoryA,在Controller B中,注入repositoryB。

答案 1 :(得分:0)

要使用多个连接池,必须使用多个数据源为每个池化数据库连接定义自己的Bean。

按照本教程进行操作 https://medium.com/@joeclever/using-multiple-datasources-with-spring-boot-and-spring-data-6430b00c02e7