我想创建两个独立的 JDBC 数据源(又名连接池),它们将重新使用类似于下图的连接。
.------.
'------'
| Data |
| base |
'------'
^
|
+------+-------+
| |
| Connection |
+--->| Pool Main |<----+
| | | |
| +--------------+ |
+------+----------+ +----------+--------+
|Connection Pool A| | Connection Pool B |
+-----------------+ +-------------------+
^ ^
| |
+-------+------+ +--------+-----+
| App Module A | | App Module B |
+--------------+ +--------------+
想法是让父连接池有 10 个连接限制,每个子源有 8 个连接限制。
所以即使 App 模块 A 使用所有 8 个连接,模块 B 也不会饿死并且至少有两个连接。
所以改写这个问题:我想以这种方式表示单个连接池,应用程序的一部分可以至少有 N 个连接,总共 M 个可用连接。为应用程序的每个部分保留这 N 个连接。
这对任何现有的图书馆来说都是可能的吗,例如HikariCP?
P.S. 这是 spring boot 应用程序,但这应该无关紧要,因为 JDBC 数据源可以存在于 spring 之外。但也许 Spring 对于这个用例有一些技巧。