gcube-cms-suite/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/MongoClientProvider.java

40 lines
1.2 KiB
Java
Raw Normal View History

2021-09-20 16:47:35 +02:00
package org.gcube.application.geoportal.service.engine.providers;
import lombok.extern.slf4j.Slf4j;
2022-02-18 14:41:41 +01:00
import org.gcube.application.cms.caches.AbstractScopedMap;
2021-10-06 11:26:35 +02:00
import org.gcube.application.geoportal.service.ServiceConstants;
2021-09-20 16:47:35 +02:00
import org.gcube.application.geoportal.service.engine.ImplementationProvider;
2021-10-14 17:00:08 +02:00
import org.gcube.application.geoportal.service.model.internal.db.Mongo;
2021-09-20 16:47:35 +02:00
import org.gcube.application.geoportal.service.model.internal.db.MongoConnection;
2022-02-04 17:45:47 +01:00
import org.gcube.application.geoportal.common.model.rest.ConfigurationException;
2021-09-20 16:47:35 +02:00
@Slf4j
2022-02-18 14:41:41 +01:00
public class MongoClientProvider extends AbstractScopedMap<Mongo> {
2021-09-20 16:47:35 +02:00
public MongoClientProvider() {
super("MongoClient cache");
2021-10-06 11:26:35 +02:00
//NO TTL = Map by context
2021-09-20 16:47:35 +02:00
// setTTL(Duration.of(10, ChronoUnit.MINUTES));
}
@Override
2021-10-14 17:00:08 +02:00
protected Mongo retrieveObject() throws ConfigurationException {
2021-10-06 11:26:35 +02:00
MongoConnection conn=ImplementationProvider.get().
getIsProvider().getIS().queryForMongoDB(
ServiceConstants.MONGO_SE_PLATFORM, ServiceConstants.MONGO_SE_GNA_FLAG);
2021-09-20 16:47:35 +02:00
log.debug("Connecting to "+conn);
2021-10-14 17:00:08 +02:00
return new Mongo(conn);
2021-09-20 16:47:35 +02:00
}
@Override
2021-10-14 17:00:08 +02:00
protected void dispose(Mongo toDispose) {
2021-09-20 16:47:35 +02:00
toDispose.close();
}
@Override
public void init() {
// TODO Auto-generated method stub
}
}