diff --git a/src/main/java/org/gcube/contentmanagement/blobstorage/transport/backend/MongoIOManager.java b/src/main/java/org/gcube/contentmanagement/blobstorage/transport/backend/MongoIOManager.java index 86a8f32..190ad03 100644 --- a/src/main/java/org/gcube/contentmanagement/blobstorage/transport/backend/MongoIOManager.java +++ b/src/main/java/org/gcube/contentmanagement/blobstorage/transport/backend/MongoIOManager.java @@ -1067,11 +1067,11 @@ public class MongoIOManager { public void close() { // if(mongo!=null) // mongo.close(); - logger.debug(" try to close backend but the close operation is not implemented"); + logger.debug(" cleaning mongo objects"); // logger.info("Mongo has been closed"); // mongo=null; -// gfs=null; -// db=null; + gfs=null; + db=null; } @@ -1079,6 +1079,8 @@ public class MongoIOManager { if(mongo!=null) mongo.close(); logger.info("Mongo pool closed"); + close(); + mongo=null; } public void removeGFSFile(GridFSDBFile f, ObjectId idF){ diff --git a/src/main/java/org/gcube/contentmanagement/blobstorage/transport/backend/MongoOperationManager.java b/src/main/java/org/gcube/contentmanagement/blobstorage/transport/backend/MongoOperationManager.java index f933acf..bd1940f 100644 --- a/src/main/java/org/gcube/contentmanagement/blobstorage/transport/backend/MongoOperationManager.java +++ b/src/main/java/org/gcube/contentmanagement/blobstorage/transport/backend/MongoOperationManager.java @@ -11,6 +11,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Objects; import org.gcube.contentmanagement.blobstorage.resource.MemoryType; import org.gcube.contentmanagement.blobstorage.resource.RequestObject; @@ -134,8 +135,10 @@ public class MongoOperationManager extends TransportManager{ } public void forceClose() { - mongoPrimaryInstance.forceClose(); - mongoSecondaryInstance.forceClose(); + if(Objects.nonNull(mongoPrimaryInstance)) + mongoPrimaryInstance.forceClose(); + if(Objects.nonNull(mongoSecondaryInstance)) + mongoSecondaryInstance.forceClose(); } /**