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

40 lines
1.2 KiB
Java

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