1

如果我在 Tomcat 中配置了 JNDI 资源,并且在我的代码中创建了两个引用相同 JNDI 资源的 DataSource 对象,这将创建两个不同的连接池,还是 DataSource 共享相同的连接池?如果可能的话,您能否提供支持您答案的资源,我已经搜索了所有内容,但找不到任何东西。

4

2 回答 2

2

当您说“创建两个数据源对象”时,您实际上是在创建对象还是从 JNDI 获取它们?你能发布一段代码吗?

如果您通过 JNDI 获得数据源,它将成为您可以安全使用的池化数据源,它将是同一个池。如果您实际上是在创建新对象,那么情况就不同了。

于 2012-08-16T20:58:14.790 回答
2

他们将使用相同的连接池。

您声明的是对在 tomcat 上声明的真实连接池的引用,因此在您的情况下,您有 2 个引用。

如果您想确保通过泄漏一个数据源上的连接并显示 2 个数据源的大小来进行测试。

至于参考,请查看 oracle jndi 教程和连接池的 tomcat 文档配置。

问候

菲利普·M。

于 2012-08-16T20:59:10.937 回答