diff --git a/pom.xml b/pom.xml
index be4fa8e..3549538 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,13 +58,13 @@
org.gcube.contentmanagement
storage-manager-wrapper
- [2.6.1-SNAPSHOT, 3.0.0-SNAPSHOT)
+ [3.0.0-SNAPSHOT, 4.0.0-SNAPSHOT)
org.gcube.contentmanagement
storage-manager-core
- [2.0.0,3.0.0-SNAPSHOT)
+ [3.0.0-SNAPSHOT,4.0.0-SNAPSHOT)
slf4j-nop
diff --git a/src/main/java/org/gcube/datatransfer/resolver/services/StorageIDResolver.java b/src/main/java/org/gcube/datatransfer/resolver/services/StorageIDResolver.java
index cac6917..bdb8832 100644
--- a/src/main/java/org/gcube/datatransfer/resolver/services/StorageIDResolver.java
+++ b/src/main/java/org/gcube/datatransfer/resolver/services/StorageIDResolver.java
@@ -340,14 +340,20 @@ public class StorageIDResolver {
* @return the storage client instance
*/
protected static IClient getStorageClientInstance(MemoryType memory) {
- if ((!Objects.isNull(storageManagerClient)) && (storageManagerClient.getGcubeMemoryType().equals(memory)))
+ if ((!Objects.isNull(storageManagerClient)) && (storageManagerClient.getGcubeMemoryType().toString() == memory.toString())) {
+ LOG.debug("reusing the same storage-client object");
return storageManagerClient;
- else {
+ }else {
if(!Objects.isNull(storageManagerClient)) {
- LOG.debug("going to close an old storage-client instance");
- storageManagerClient.forceClose();
+ LOG.debug("going to close an old storage-client instance on "+storageManagerClient.getGcubeMemoryType());
+ try {
+ storageManagerClient.forceClose();
+ LOG.debug("storage-client closed");
+ }catch(Exception e) {
+ LOG.warn("Some problem occurred during the close operation:"+e.getMessage()+" Going to open another connection");
+ }
}
- LOG.debug("initializing a new storage-client instance");
+ LOG.debug("initializing a new storage-client instance on "+memory);
storageManagerClient=new StorageClient(StorageIDResolver.class.getName(), StorageIDResolver.class.getSimpleName(), STORAGEID_RESOLVER, STORAGE_ACCESS_TYPE, memory, STORAGE_BACKEND_TYPE).getClient();
return storageManagerClient;
}