update to version 2.12.1-SNAPSHOT #21390

This commit is contained in:
Roberto Cirillo 2021-05-13 11:57:05 +02:00
parent eb74e06cdf
commit 88fe3747f6
5 changed files with 18 additions and 7 deletions

View File

@ -1,5 +1,9 @@
# Changelog for storage-manager-core
## [v2.12.1-SNAPSHOT
* add check on transport layer instance: if the memory type is not the same, a new transportLayer is instatiated
* amove memoryType var from super class TransportManager
## [v2.12.0-SNAPSHOT]
* One pool for every operation: static Operation class; no mongo close operation

View File

@ -8,7 +8,7 @@
</parent>
<groupId>org.gcube.contentmanagement</groupId>
<artifactId>storage-manager-core</artifactId>
<version>2.12.0-SNAPSHOT</version>
<version>2.12.1-SNAPSHOT</version>
<!-- <properties> -->
<!-- <distroDirectory>${project.basedir}/distro</distroDirectory> -->
<!-- </properties> -->

View File

@ -23,7 +23,7 @@ import com.mongodb.MongoException;
public abstract class TransportManager {
protected MemoryType memoryType;
/**
* This method specifies the type of the backend for dynamic loading
* For mongoDB, default backend, the name is MongoDB

View File

@ -27,9 +27,11 @@ public class TransportManagerFactory {
// private static final Logger logger = Logger.getLogger(OperationFactory.class);
final Logger logger = LoggerFactory.getLogger(TransportManagerFactory.class);
// TerrastoreClient client;
String[] server;
String user;
String password;
private String[] server;
private String user;
private String password;
private MemoryType memoryType;
private String dbNames;
TransportManager transport;
public TransportManagerFactory(String server[], String user, String password){
@ -42,8 +44,12 @@ public class TransportManagerFactory {
if (logger.isDebugEnabled()) {
logger.debug("getOperation(String) - start");
}
if(Objects.isNull(transport))
// if we haven't any transport layer instantiated or the transport layer is istantiated on another memory type (persistent, volatile),
// then a new transport layer is needed
if(Objects.isNull(transport) || (!transport.memoryType.equals(memoryType))) {
logger.info("new transport layer instantiated for "+memoryType+" memory");
return load(backendType, memoryType, dbNames, writeConcern, readConcern);
}
return transport;
}

View File

@ -44,7 +44,7 @@ public class MongoOperationManager extends TransportManager{
// private MongoClient mongo;
private MongoIOManager mongoPrimaryInstance;
private MongoIOManager mongoSecondaryInstance;
private MemoryType memoryType;
// private MemoryType memoryType;
protected static String[] dbNames;
@ -55,6 +55,7 @@ public class MongoOperationManager extends TransportManager{
@Override
public void initBackend(String[] server, String user, String pass, MemoryType memoryType , String[] dbNames, String writeConcern, String readConcern) {
logger.debug("init storage backend with "+memoryType+" memory");
try {
this.memoryType=memoryType;
MongoOperationManager.dbNames=dbNames;