Java 如何管理连接池

Java 如何管理连接池,java,jboss,datasource,Java,Jboss,Datasource,连接池通常由应用服务器管理,对吗?但我们现在可以在META-INF文件夹中添加context.xml并在那里配置数据源 这是一个好方法吗?即使在这种情况下,即使我们的应用程序中有配置,服务器也会选择这些配置并管理池,对吗 我注意到,当我不关闭连接时,它会返回不同的连接对象。如果关闭连接,它将返回相同的连接对象GenericObjectPool.numActive,在本例中显示为1。但是当我不关闭连接时,它也会将连接对象返回到池中,对吗?因为我看到每个请求的GenericObjectPool.nu

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

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

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

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


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

    您的服务器或池可能有办法检测到连接尚未关闭,但不再使用,从而将其返回到池中,但您不能依赖这种机制