From 2a5648a17b019a743d91170062cda9fe6aa1d4f6 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Thu, 5 Nov 2020 12:31:14 +0100 Subject: Fail if factory is already closed --- .../src/main/java/ai/vespa/util/http/VespaClientBuilderFactory.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'jaxrs_client_utils') diff --git a/jaxrs_client_utils/src/main/java/ai/vespa/util/http/VespaClientBuilderFactory.java b/jaxrs_client_utils/src/main/java/ai/vespa/util/http/VespaClientBuilderFactory.java index 26ed05e71d9..2bac7f66799 100644 --- a/jaxrs_client_utils/src/main/java/ai/vespa/util/http/VespaClientBuilderFactory.java +++ b/jaxrs_client_utils/src/main/java/ai/vespa/util/http/VespaClientBuilderFactory.java @@ -13,6 +13,7 @@ import java.net.URI; import java.util.List; import java.util.Optional; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Filter; import java.util.logging.Level; import java.util.logging.Logger; @@ -59,8 +60,10 @@ public class VespaClientBuilderFactory implements AutoCloseable { private final TlsContext tlsContext = TransportSecurityUtils.createTlsContext().orElse(null); private final MixedMode mixedMode = TransportSecurityUtils.getInsecureMixedMode(); + private final AtomicBoolean closed = new AtomicBoolean(false); public ClientBuilder newBuilder() { + if (closed.get()) throw new IllegalStateException("Client already closed"); ClientBuilder builder = ClientBuilder.newBuilder(); setSslConfiguration(builder); return builder; @@ -78,6 +81,7 @@ public class VespaClientBuilderFactory implements AutoCloseable { @Override public void close() { + if (closed.getAndSet(true)) throw new IllegalStateException("Client already closed"); if (tlsContext != null) { tlsContext.close(); } -- cgit v1.2.3