From 50dc683f7abee930956d9a435574ac8ff1da0be3 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Fri, 25 Nov 2022 11:50:44 +0100 Subject: [PATCH] fixed Issue #168 --- .../core/cassandra/ArchiveRemoteService.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/imixs-archive-api/src/main/java/org/imixs/archive/core/cassandra/ArchiveRemoteService.java b/imixs-archive-api/src/main/java/org/imixs/archive/core/cassandra/ArchiveRemoteService.java index 8f17e5fe..99370f7e 100644 --- a/imixs-archive-api/src/main/java/org/imixs/archive/core/cassandra/ArchiveRemoteService.java +++ b/imixs-archive-api/src/main/java/org/imixs/archive/core/cassandra/ArchiveRemoteService.java @@ -92,16 +92,22 @@ public byte[] loadFileFromArchive(FileData fileData) throws RestAPIException { } else { Client rsClient = documentClient.newClient(); String url = archiveServiceEndpoint.get() + "/archive/md5/" + md5; - Response reponse = rsClient.target(url).request(MediaType.APPLICATION_OCTET_STREAM).get(); - - // InputStream is = reponse.readEntity(InputStream.class); - byte[] fileContent = reponse.readEntity(byte[].class); - if (fileContent != null && fileContent.length > 0) { - if (debug) { - logger.finest("......md5 data object found"); + Response response = rsClient.target(url).request(MediaType.APPLICATION_OCTET_STREAM).get(); + byte[] fileContent=null; + try { + // InputStream is = reponse.readEntity(InputStream.class); + fileContent = response.readEntity(byte[].class); + if (fileContent != null && fileContent.length > 0) { + if (debug) { + logger.finest("......md5 data object found"); + } } - return fileContent; + } finally { + // explicit close client! + response.close(); + rsClient.close(); } + return fileContent; } } catch (ProcessingException e) { String message = null;