42 lines
1.0 KiB
Java
42 lines
1.0 KiB
Java
package org.gcube.data.access.storagehub;
|
|
|
|
|
|
import org.gcube.data.access.storagehub.services.RepositoryInitializer;
|
|
import org.gcube.smartgears.ApplicationManager;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
public class StorageHubAppllicationManager implements ApplicationManager {
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(StorageHubAppllicationManager.class);
|
|
|
|
private boolean alreadyShutDown = false;
|
|
|
|
|
|
public static RepositoryInitializer repository;
|
|
|
|
@Override
|
|
public synchronized void onInit() {
|
|
logger.info("jackrabbit initialization started");
|
|
try {
|
|
repository = new RepositoryInitializerImpl();
|
|
} catch (Exception e) {
|
|
logger.error("ERROR INITIALIZING REPOSITORY",e);
|
|
}
|
|
repository.getRepository();
|
|
}
|
|
|
|
@Override
|
|
public synchronized void onShutdown() {
|
|
if (!alreadyShutDown)
|
|
try {
|
|
logger.info("jackrabbit is shutting down");
|
|
repository.shutdown();
|
|
alreadyShutDown= true;
|
|
} catch (Exception e) {
|
|
logger.warn("the database was not shutdown properly",e);
|
|
}
|
|
}
|
|
|
|
}
|