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

39 lines
1.1 KiB
Java
Raw Normal View History

2021-09-20 16:47:35 +02:00
package org.gcube.application.geoportal.service.engine.providers;
2022-05-27 15:04:35 +02:00
import org.gcube.application.cms.caches.AbstractScopedMap;
import org.gcube.application.geoportal.common.model.rest.ConfigurationException;
2021-09-20 16:47:35 +02:00
import org.gcube.application.geoportal.service.engine.postgis.PostgisDBManager;
2022-05-24 14:44:22 +02:00
import org.gcube.application.geoportal.service.engine.postgis.PostgisDBManagerI;
2021-09-20 16:47:35 +02:00
import java.sql.SQLException;
2022-05-24 14:44:22 +02:00
import java.time.Duration;
import java.time.temporal.ChronoUnit;
2021-09-20 16:47:35 +02:00
2022-05-27 15:04:35 +02:00
public class PostgisConnectionProvider extends AbstractScopedMap<PostgisDBManagerI> {
2021-09-20 16:47:35 +02:00
public PostgisConnectionProvider() {
super("Postgis connection descriptor cache");
2022-05-24 14:44:22 +02:00
setTTL(Duration.of(30, ChronoUnit.SECONDS));
2021-09-20 16:47:35 +02:00
}
@Override
2022-05-27 15:04:35 +02:00
protected PostgisDBManagerI retrieveObject(String key) throws ConfigurationException {
2021-09-20 16:47:35 +02:00
try {
return PostgisDBManager.get();
} catch (SQLException throwables) {
throw new ConfigurationException(throwables);
}
}
@Override
2022-05-24 14:44:22 +02:00
protected void dispose(PostgisDBManagerI toDispose) {
2021-09-20 16:47:35 +02:00
// toDispose.close();
}
@Override
public void init() {
//
}
}