0

连接池通常由应用程序服务器管理,对吗?但是我们现在可以在 META-INF 文件夹中添加一个 context.xml 并在那里配置数据源。

  1. 这是一个好方法吗?即使在这种情况下,即使我们在应用程序中有配置,服务器也会获取这些配置并管理池对吗?

    当我不关闭连接时,我注意到它返回不同的连接对象。如果我关闭连接,它会返回相同的连接对象 GenericObjectPool.numActive 在这种情况下显示 1。但是当我不关闭连接时,它也会将连接对象返回到池中,对吗?因为我看到 GenericObjectPool.numActive 不断增加每个请求。

  2. 我的第二个问题是虽然我没有关闭连接,但现在仍然返回到连接池?所以即使在请求完成后,为什么服务器不选择该连接对象而是创建一个新对象?

4

1 回答 1

1

如果您不关闭连接,它将不会返回到池中。连接必须始终在 finally 块中通过从池中获取它的方法关闭。

您的服务器或池可能有方法检测连接尚未关闭,但不再使用,因此将其返回池,但您不能依赖这种机制。

于 2012-09-25T10:31:57.590 回答