【问题标题】:Potential Resource Leak in Return潜在的资源泄漏回报
【发布时间】:2018-01-30 06:13:53
【问题描述】:

我正在尝试从方法中返回 PreparedStatement 的值,因此我无法使用 try catch 将语句包含在方法中。有什么办法可以摆脱带有返回语句的 PreparedStatement 的资源泄漏?

public PreparedStatement getStatement(){
final PreparedStatement preparedStatement = this.connection
                .prepareStatement("SELECT * FROM log");
return preparedStatement;
}

【问题讨论】:

  • 这只是一个警告,如果你确定(经过仔细检查)你没有泄漏任何资源,你可以忽略它。
  • 请显示您的方法代码、算法以及您通常如何调用它。如果方法是工厂,抑制警告是没有问题的。

标签: java eclipse return resource-leak


【解决方案1】:

是的,您可以摆脱资源泄漏,创建一个带有回调 oneexpiry 的过期哈希图(https://github.com/jhalterman/expiringmap/blob/master/src/main/java/net/jodah/expiringmap/ExpiringMap.java 就像许多开源库一样可用)。

因此,您可以在第一次获取准备好的语句时放置它,随后您可以从地图中检索它。

您可以为地图设置默认过期时间,并在回调中关闭所有准备好的语句。

【讨论】:

    猜你喜欢
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多