是否可以在java 5上使用try with resources?

时间:2014-02-25 15:56:19

标签: java-5 try-with-resources

我正在开发一个具有使用java 1.5约束的项目。 我的问题是它充满了这样的样板:

Query q = null;
   try {
    q = getTemplatedQuery("updateConfigurationSyncTimestamps").prepareQuery(false);
    q.addParameter("id", copyConfiguration.getId())
        .addParameter("targetLastSyncTime", targetSyncTime)
        .addParameter("targetLastSuccessfullSyncTime", lastSyncErrors == 0 ? targetSyncTime : null)
        .addParameter("lastSyncErrors", lastSyncErrors);
    q.executeUpdate();
   } finally {
    if (q != null) {
     q.closeStatement();
    }
   }

如何在java 1.5中解决这个问题?我想要实现的是能够使用像java 1.7中的try-with-resources或类似的构造。我只想关闭一个语句,无论程序运行时发生了什么,但示例中没有样板文件。

1 个答案:

答案 0 :(得分:1)

您可以在finally块中使用Apache Commons IOUtils.closeQuietly()将其减少到一行。