c3p0 dataSourceName与RegistryName之间的区别?

时间:2014-03-21 21:32:20

标签: java hibernate jetty c3p0

  • 我有一个使用c3p0连接池的码头应用程序。
  • 我的webapp的WEB-INF / classes下有一个c3p0.properties文件

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

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

1 个答案:

答案 0 :(得分:1)

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

  • com.mchange.v2.c3p0.management.RegistryName表示跟踪C3P0Registry类的JMX nean的名称,这是一个静态实用程序类,用于跟踪当前存在的c3p0 DataSource并允许按名称查找它们或迭代它们。

这两个都是JMX的名字,但是完全不同的东西。一个应用程序可以有许多不同的dataSourceName值(每个运行的DataSource都有一个),但只有一个 com.mchange.v2.c3p0.management.RegistryName。 (实际上它是每个ClassLoader一个,而不是每个应用程序一个,但我们现在就让这个区别滑动。)