【问题标题】:Closing jdbc resources in liferay portlet在 liferay portlet 中关闭 jdbc 资源
【发布时间】:2013-01-22 10:37:47
【问题描述】:

对于 ResultSets 来说很简单——我在阅读完它们后就关闭它们。问题出在 Connection 和 PreparedStatements 上。我不确定何时最好关闭这些资源。

对于防御方法,在对数据库执行每个复杂操作后关闭它们似乎很好,但这意味着每次用户调用任何 portlet 操作(例如每个页面重新加载或 ajax 请求)时,我都必须打开连接并编译准备好的语句调用 MVCPortlet#serveResource)。

有没有更好的方法来管理 jdbc 连接?什么时候最好关闭所有这些资源?

每次调用任何 portlet 操作时设置数据库连接和语句可能没什么大不了的?

【问题讨论】:

    标签: java jdbc liferay portlet


    【解决方案1】:

    最直接的方法可能是这个实用程序类 http://docs.liferay.com/portal/6.0/javadocs/com/liferay/portal/kernel/dao/jdbc/DataAccess.html

    您可以在 finally 语句中将所有打开的资源传递给 DataAccess.cleanUp(),实际上它只是为您进行空值检查和异常处理。

    如果有一个 PreparedStatement 经常被调用,也许它可以在请求之间保留,但这是一种后期优化,需要在没有其他事情可做时考虑。开销很小。

    【讨论】:

      猜你喜欢
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      相关资源
      最近更新 更多