diff --git a/src/main/java/sh/libre/scim/core/ScimClient.java b/src/main/java/sh/libre/scim/core/ScimClient.java index 4782b1e079c16dd285ebe227c110698c9e2a509e..5831bf3d8c0f7e1ca8de38504ad80b20ee10e1ff 100644 --- a/src/main/java/sh/libre/scim/core/ScimClient.java +++ b/src/main/java/sh/libre/scim/core/ScimClient.java @@ -28,7 +28,7 @@ import java.util.HashMap; import java.util.Map; -public class ScimClient { +public class ScimClient implements AutoCloseable { private static final Logger LOGGER = Logger.getLogger(ScimClient.class); @@ -299,6 +299,7 @@ public class ScimClient { } } + @Override public void close() { scimRequestBuilder.close(); } diff --git a/src/main/java/sh/libre/scim/core/ScimDispatcher.java b/src/main/java/sh/libre/scim/core/ScimDispatcher.java index bf7757d7c13c102dd208a27ffc9e57a42e33d280..df4e220a3d09f5247046495a1267a125a86fa9b6 100644 --- a/src/main/java/sh/libre/scim/core/ScimDispatcher.java +++ b/src/main/java/sh/libre/scim/core/ScimDispatcher.java @@ -33,13 +33,10 @@ public class ScimDispatcher { public void runOne(ComponentModel m, Consumer<ScimClient> f) { LOGGER.infof("%s %s %s %s", m.getId(), m.getName(), m.getProviderId(), m.getProviderType()); - ScimClient client = ScimClient.newScimClient(m, session); - try { + try (ScimClient client = ScimClient.newScimClient(m, session)) { f.accept(client); } catch (Exception e) { LOGGER.error(e); - } finally { - client.close(); } } }