【问题标题】:If connection is closed by a Database, do I need to close it manually? [duplicate]如果连接被数据库关闭,我需要手动关闭它吗? [复制]
【发布时间】:2015-02-04 12:15:46
【问题描述】:

我有一个连接池。在getConnection() 方法中,我轮询从队列到变量的连接,并检查它是否被isClosed() 方法关闭。如果它已关闭,我通过DriverManager.getConnection(url, user, password) 方法将变量设置为新连接。

问题是:我是否需要在重写变量之前通过close()方法手动关闭连接以确保垃圾收集器收集连接?

【问题讨论】:

  • 连接已经关闭了,那么再次调用 close 有什么好处.. 什么都没有?
  • 也许 close 方法在做其他事情。有人告诉我,如果垃圾收集器没有关闭,它们就不会收集连接。
  • 你被告知错了。但是isClosed() 并不意味着连接已被数据库关闭。这意味着关闭了它。

标签: java jdbc garbage-collection connection connection-pooling


【解决方案1】:

不需要(Recommended)

如果您在连接关闭后手动调用close(),则不会对该连接对象执行任何操作。

【讨论】:

  • 如果你可以在一个连接上调用isClosed,那么这个连接显然还没有被垃圾回收......
猜你喜欢
  • 2013-10-22
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多