+ public static synchronized void destroyInstance(DistributedDataStore dataStore){
+ Preconditions.checkNotNull(dataStore, "dataStore should not be null");
+
+ LOG.info("Destroy data store instance of type : {}", dataStore.getActorContext().getDataStoreType());
+
+ if(createdInstances.remove(dataStore)){
+ if(createdInstances.size() == 0){
+ if(actorSystem != null) {
+ actorSystem.shutdown();
+ try {
+ actorSystem.awaitTermination(Duration.create(10, TimeUnit.SECONDS));
+ } catch (Exception e) {
+ LOG.warn("Error awaiting actor termination", e);
+ }
+ actorSystem = null;
+ }
+ }
+ }