浏览代码

fix #852 close ResponseData

Shinsuke Sugaya 8 年之前
父节点
当前提交
62d0bbcb46
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      src/main/java/org/codelibs/fess/helper/ViewHelper.java

+ 6 - 0
src/main/java/org/codelibs/fess/helper/ViewHelper.java

@@ -515,6 +515,10 @@ public class ViewHelper {
         if (client == null) {
         if (client == null) {
             throw new FessSystemException("No CrawlerClient: " + configId + ", url: " + url);
             throw new FessSystemException("No CrawlerClient: " + configId + ", url: " + url);
         }
         }
+        return writeContent(configId, url, client);
+    }
+
+    protected StreamResponse writeContent(final String configId, final String url, final CrawlerClient client) {
         final ResponseData responseData = client.execute(RequestDataBuilder.newRequestData().get().url(url).build());
         final ResponseData responseData = client.execute(RequestDataBuilder.newRequestData().get().url(url).build());
         final StreamResponse response = new StreamResponse(StringUtil.EMPTY);
         final StreamResponse response = new StreamResponse(StringUtil.EMPTY);
         writeFileName(response, responseData);
         writeFileName(response, responseData);
@@ -531,6 +535,8 @@ public class ViewHelper {
                 if (!(e.getCause() instanceof ClientAbortException)) {
                 if (!(e.getCause() instanceof ClientAbortException)) {
                     throw new FessSystemException("Failed to write a content. configId: " + configId + ", url: " + url, e);
                     throw new FessSystemException("Failed to write a content. configId: " + configId + ", url: " + url, e);
                 }
                 }
+            } finally {
+                responseData.close();
             }
             }
             if (logger.isDebugEnabled()) {
             if (logger.isDebugEnabled()) {
                 logger.debug("Finished to write " + url);
                 logger.debug("Finished to write " + url);