何时应该在j2ee项目中调用connection.close()?

时间:2017-06-23 14:13:51

标签: java servlets jdbc

我没有使用任何框架,因为它只是一个小项目。现在我在主servlet的connection.close()方法中调用destroy()。但是有一些问题。

  1. 我不知道何时调用servlet.destroy() ...我认为浏览器关闭时是调用它的时间,但似乎错了。
  2. 我发现如果我不操作访问我的项目的页面,一段时间后,destroy()被调用,那么连接将被关闭。但是项目正在运行一些可能定期运行的代码写入数据库,这种情况下将抛出异常。
  3. 任何解决方案?我想知道何时调用servlet.destroy()

1 个答案:

答案 0 :(得分:2)

仅当您有一个共享连接时才有效。

更好的解决方案是使用servlet引擎内置的JNDI连接池功能。您希望在尽可能小的方法范围内使用连接并将其返回到池中。您可以通过这种方式为更多客户端提供小型连接池。