Skip to content

Commit

Permalink
ADBDEV-4980: Refactoring reloadCache methods
Browse files Browse the repository at this point in the history
  • Loading branch information
RomaZe committed Feb 28, 2024
1 parent 786ed83 commit 0614085
Showing 1 changed file with 8 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.SQLTimeoutException;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
Expand Down Expand Up @@ -85,24 +83,22 @@ public ConnectionManager(DataSourceFactory factory, Ticker ticker, PxfJdbcProper
}

public void reloadCache() {
Set<PoolDescriptor> poolDescriptorSet = new HashSet<>(dataSources.asMap().keySet());
poolDescriptorSet.forEach(this::invalidateCache);
log.info("Invalidate cache of all pool descriptors}");
dataSources.invalidateAll();
cleanCache();
}

public void reloadCacheIf(Predicate<PoolDescriptor> poolDescriptorFilter) {
Set<PoolDescriptor> poolDescriptorSet = dataSources.asMap().keySet().stream()
dataSources.asMap().keySet().stream()
.filter(poolDescriptorFilter)
.collect(Collectors.toSet());
poolDescriptorSet.forEach(this::invalidateCache);
.collect(Collectors.toSet())
.forEach(poolDescriptor -> {
log.info("Invalidate cache of the pool descriptor {}", poolDescriptor);
dataSources.invalidate(poolDescriptor);
});
cleanCache();
}

private void invalidateCache(PoolDescriptor poolDescriptor) {
log.info("Invalidate cache for pool descriptor {}", poolDescriptor);
dataSources.invalidate(poolDescriptor);
}

/**
* Explicitly runs cache maintenance operations.
*/
Expand Down

0 comments on commit 0614085

Please sign in to comment.