【发布时间】:2020-08-13 15:04:36
【问题描述】:
所以我正在运行一个用于查询 MySQL 数据库的 Spring Boot 服务器。到目前为止,我一直在使用自动配置的 HikariCP 连接池和 JOOQ,所以我几乎与连接池无关。但是现在我需要查询两个不同的模式(在同一台服务器上),而且我似乎无法自动配置两个连接池,所以我必须自己修改DataSource。我想保留连接的本机行为,即拥有一组持久连接,以便服务器可以分派查询,一旦查询得到解决,连接仍然存在并且可以再次免费使用。我发现连接池的多种实现允许有多个DataSource 来查询多个服务器,但我不知道它们中的每一个是否都在使用我刚才描述的行为。
实施#1: https://www.ru-rocker.com/2018/01/28/configure-multiple-data-source-spring-boot/
实施#2: https://www.stubbornjava.com/posts/database-connection-pooling-in-java-with-hikaricp
我觉得#2 是最直接的解决方案,但我对每次我想查询时创建一个新的DataSource 的想法持怀疑态度。如果我不关闭它,我是否只是一遍又一遍地打开连接?所以很明显,一旦完成,我将不得不关闭它们,但它不再是真正的连接池了。 (还是我误会了?)
同时#1 似乎更可靠,但我每次都会打电话给new HikariDataSource,所以这就是我要找的吗?
(或者我错过了一个更简单的解决方案,因为我需要查询两个不同的模式但仍然在同一个服务器和方言上)
【问题讨论】:
标签: spring-boot datasource connection-pooling hikaricp