sdi-service/src/main/java/org/gcube/spatial/data/sdi/engine/impl/factories/TemporaryPersistenceFactory...

38 lines
829 B
Java
Raw Normal View History

2020-10-13 17:08:32 +02:00
package org.gcube.spatial.data.sdi.engine.impl.factories;
import org.gcube.spatial.data.sdi.engine.TemporaryPersistence;
import org.gcube.spatial.data.sdi.engine.impl.TemporaryPersistenceImpl;
import org.glassfish.hk2.api.Factory;
2020-10-13 18:10:00 +02:00
import lombok.Synchronized;
2020-10-13 17:08:32 +02:00
public class TemporaryPersistenceFactory implements Factory<TemporaryPersistence>{
@Override
public void dispose(TemporaryPersistence arg0) {
arg0.shutdown();
}
@Override
public TemporaryPersistence provide() {
2020-10-13 18:10:00 +02:00
return getInstance();
}
private static TemporaryPersistence temp=null;
@Synchronized
private static TemporaryPersistence getInstance(){
if(temp==null) {
temp=new TemporaryPersistenceImpl();
try {
2020-10-13 17:08:32 +02:00
temp.init();
2020-10-13 18:10:00 +02:00
}catch(Exception e) {
throw new RuntimeException("Unable to init temp ",e);
}
}
2020-10-13 17:08:32 +02:00
return temp;
}
}