回报可能导致资源泄漏

时间:2018-01-30 06:13:54

标签: java eclipse return resource-leak

我正在尝试从方法中返回PreparedStatement的值,因此我不能用try catch将语句括在方法中。有什么办法可以用return语句摆脱PreparedStatement的资源泄漏吗?

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

1 个答案:

答案 0 :(得分:-1)

是的,您可以摆脱资源泄漏,使用回调onexpiry创建一个到期的hashmap(https://github.com/jhalterman/expiringmap/blob/master/src/main/java/net/jodah/expiringmap/ExpiringMap.java,这样可以使用许多开源库)。

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

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

相关问题