我们使用 Payara 5 服务器和 4 个应用程序实例。 JDBC 池配置为 5,设置为池中的最大连接数。还会创建指向 JDBC 连接池的 JDBC 资源,并将集群设置为目标。
我预计所有 4 个实例总共只能使用最多 5 个连接。但是,在我们的数据库工具中,我可以看到每个实例可以建立 5 个连接,因此连接总数为 20。根据给定的设置,我认为该池在所有实例之间共享,但事实并非如此。
JNDI 名称在 persistence.xml 中用作
<jta-data-source>
元素的值。
为什么池不在所有实例之间共享?
如果有人有可以澄清这一点的文档的指针,这确实会有帮助。
我没有指向文档的指针,但确实连接池在实例之间不同步。每个实例都有自己的连接池,配置相同。如果最大连接数为 5 并且您有 4 个实例,则连接总数将为 20。