Java GlassFish Numconused与实际打开连接数

Java GlassFish Numconused与实际打开连接数,java,mysql,glassfish,Java,Mysql,Glassfish,我在GlassFish 4.0下监视JDBC连接池,发现监视器报告的“numconnused”总是远远高于MySQL通过SHOW PROCESSLIST报告的打开连接数。例如,MySQL将报告约25个打开的连接,但GlassFish说有50多个“numconnused”。在线文档。这让我知道,在任何给定时刻,这些值都应该大致相同。关于为什么这两个值应该相差很远,你有什么想法吗?我找到了这个页面: “ConnectionPoolDataSource用于授予对PooledConnection的访问权

我在GlassFish 4.0下监视JDBC连接池,发现监视器报告的“numconnused”总是远远高于MySQL通过SHOW PROCESSLIST报告的打开连接数。例如,MySQL将报告约25个打开的连接,但GlassFish说有50多个“numconnused”。在线文档。这让我知道,在任何给定时刻,这些值都应该大致相同。关于为什么这两个值应该相差很远,你有什么想法吗?

我找到了这个页面:

“ConnectionPoolDataSource用于授予对PooledConnection的访问权,后者通过JDBC驱动程序实现本机池。在这种情况下,应用程序服务器可以使用此本机接口实现连接池。”

数据源:数据源对象是连接对象的工厂。使用简单数据源时,appserver使用自己的池而不是本机池


我们使用的是ConnectionPoolDataSource,它使用MySQL JDBC驱动程序决定用于池实现的任何内容。 考虑到我们只配置了连接到数据库所需的最低限度的驱动程序,这可能会导致“池”方面的配置不正确

这可能是我所看到的GlassFish报告的“numconnused”连接数与MySQL报告的实际打开连接数之间奇怪差异的原因


我已经将池更改为使用数据源,现在我看到“numconnused”连接的数量接近MySQL报告的数量(没有或睡眠时间短的连接)。

连接池巫术,我找到了这个页面:那么执行摘要是什么呢?fobozWe使用的是ConnectionPoolDataSource,它使用MySQL JDBC驱动程序决定用于池实现的任何东西。考虑到我们只配置了连接数据库所需的最低限度的驱动程序,这可能会导致“池”方面的配置不正确。太棒了。谢谢分享!