From 633448fcdb925a8efe2f78614e6a03fb88fe8a5e Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Thu, 27 Sep 2018 16:04:47 +0200 Subject: Remove use of finalizer --- .../documentapi/messagebus/protocol/ExternPolicy.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'documentapi/src') diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java index 5a68e5bda2a..e60fb128d29 100755 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java @@ -13,6 +13,7 @@ import com.yahoo.messagebus.routing.RoutingContext; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; /** * This policy implements the necessary logic to communicate with an external Vespa application and resolve its list of @@ -30,6 +31,7 @@ public class ExternPolicy implements DocumentProtocolRoutingPolicy { private int offset = 0; private int generation = 0; private final List recipients = new ArrayList<>(); + private final AtomicBoolean destroyed = new AtomicBoolean(false); /** * Constructs a new instance of this policy. The argument given is the connection spec to the slobrok to use for @@ -109,14 +111,6 @@ public class ExternPolicy implements DocumentProtocolRoutingPolicy { } } - @Override - @SuppressWarnings("deprecation") // finalize() is deprecated from Java 9 - public void finalize() throws Throwable { - super.finalize(); - mirror.shutdown(); - orb.transport().shutdown().join(); - } - public void select(RoutingContext ctx) { if (error != null) { ctx.setError(DocumentProtocol.ERROR_POLICY_FAILURE, error); @@ -139,7 +133,11 @@ public class ExternPolicy implements DocumentProtocolRoutingPolicy { DocumentProtocol.merge(ctx); } + @Override public void destroy() { + if (destroyed.getAndSet(true)) throw new RuntimeException("Already destroyed"); + mirror.shutdown(); + orb.transport().shutdown().join(); } public MetricSet getMetrics() { -- cgit v1.2.3 From 94e17398d4d35d42becbc78286a93251c7a42886 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Thu, 27 Sep 2018 16:18:22 +0200 Subject: Add '@Override' to all methods that are overriden --- .../java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'documentapi/src') diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java index e60fb128d29..051ec44dd07 100755 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java @@ -111,6 +111,7 @@ public class ExternPolicy implements DocumentProtocolRoutingPolicy { } } + @Override public void select(RoutingContext ctx) { if (error != null) { ctx.setError(DocumentProtocol.ERROR_POLICY_FAILURE, error); @@ -129,6 +130,7 @@ public class ExternPolicy implements DocumentProtocolRoutingPolicy { } } + @Override public void merge(RoutingContext ctx) { DocumentProtocol.merge(ctx); } @@ -140,6 +142,7 @@ public class ExternPolicy implements DocumentProtocolRoutingPolicy { orb.transport().shutdown().join(); } + @Override public MetricSet getMetrics() { return null; } -- cgit v1.2.3