Use orElseGet to delay call until necessary (#1210)

pull/1218/head
Matt Nelson 7 years ago committed by Brett Wooldridge
parent 7209aabecc
commit 471e27ece0

@ -621,7 +621,7 @@ public final class HikariPool extends PoolBase implements HikariPoolMXBean, IBag
private ScheduledExecutorService initializeHouseKeepingExecutorService()
{
if (config.getScheduledExecutor() == null) {
final ThreadFactory threadFactory = Optional.ofNullable(config.getThreadFactory()).orElse(new DefaultThreadFactory(poolName + " housekeeper", true));
final ThreadFactory threadFactory = Optional.ofNullable(config.getThreadFactory()).orElseGet(() -> new DefaultThreadFactory(poolName + " housekeeper", true));
final ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1, threadFactory, new ThreadPoolExecutor.DiscardPolicy());
executor.setExecuteExistingDelayedTasksAfterShutdownPolicy(false);
executor.setRemoveOnCancelPolicy(true);

Loading…
Cancel
Save