c3p0 dataSourceName 与 RegistryName 之间的区别?

Posted

技术标签:

【中文标题】c3p0 dataSourceName 与 RegistryName 之间的区别?【英文标题】:difference between c3p0 dataSourceName vs RegistryName? 【发布时间】:2014-04-29 11:28:54 【问题描述】: 我有一个使用 c3p0 连接池的码头应用程序。 我的 webapp 的 WEB-INF/classes 下有一个 c3p0.properties 文件

正如C3P0 configuration manual 中所见,在 JMX 中命名 C3P0 连接池有两种不同的方法: - c3p0.dataSourceName=oneWayOfNamingThePool - com.mchange.v2.c3p0.management.RegistryName=anotherWayOfNamingThePool

所以我的问题是:这两个属性有什么区别?

【问题讨论】:

【参考方案1】:

dataSourceName 表示单个 JDBC 数据源的名称。一个应用程序可能有许多这样的应用程序。这些是实际连接池所在的位置。

com.mchange.v2.c3p0.management.RegistryName 表示跟踪 C3P0Registry 类的 JMX nean 的名称,这是一个静态实用程序类,用于跟踪当前活动的 c3p0 数据源并允许按名称查找它们或遍历它们。

两者都是 JMX 名称,但完全不同。一个应用程序可以有许多不同的dataSourceName 值(一个对应于许多正在运行的数据源),但只有一个 com.mchange.v2.c3p0.management.RegistryName。 (实际上是每个 ClassLoader 一个,而不是每个应用程序一个,但我们现在让这种区别消失。)

【讨论】:

以上是关于c3p0 dataSourceName 与 RegistryName 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

maxIdleTimeExcessConnections 与 c3p0 中的 maxIdleTime 有何不同?

c3p0 挂在 awaitAvailable 与休眠

了解c3p0,dbcp与druid

使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方式

c3p0,dbcp与druid 三大连接池的区别[转]

C3P0连接池的配置与使用