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;