From 4e4dc6c4e5aca2278cc2bdee51c9a9c42b02b139 Mon Sep 17 00:00:00 2001 From: luccioman Date: Tue, 6 Jun 2017 10:30:02 +0200 Subject: [PATCH] Removed unnecessary finalize implementation. On such private classes with limited scope but with frequent instance creations and removals within the application lifecycle, implementing the finalize method is particularly unwanted as it decreases the garbage collector performance. What's more the Object.finalize() method is now deprecated in the JDK 9 and will eventually disappear from future releases (see https://bugs.openjdk.java.net/browse/JDK-8177970) --- .../federate/solr/connector/EmbeddedSolrConnector.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source/net/yacy/cora/federate/solr/connector/EmbeddedSolrConnector.java b/source/net/yacy/cora/federate/solr/connector/EmbeddedSolrConnector.java index a874c6bf3..403302f4b 100644 --- a/source/net/yacy/cora/federate/solr/connector/EmbeddedSolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/EmbeddedSolrConnector.java @@ -377,7 +377,7 @@ public class EmbeddedSolrConnector extends SolrServerConnector implements SolrCo } - private class DocListSearcher { + private class DocListSearcher implements AutoCloseable { private SolrQueryRequest request; private DocList response; @@ -393,15 +393,13 @@ public class EmbeddedSolrConnector extends SolrServerConnector implements SolrCo if (resultContext == null) log.warn("DocListSearcher: no response for query '" + querystring + "'"); this.response = resultContext == null ? new DocSlice(0, 0, new int[0], new float[0], 0, 0.0f) : resultContext.docs; } + + @Override public void close() { if (this.request != null) this.request.close(); this.request = null; this.response = null; } - @Override - protected void finalize() throws Throwable { - try {close();} finally {super.finalize();} - } } @Override