diff --git a/src/main/java/org/codelibs/fess/auth/chain/CommandChain.java b/src/main/java/org/codelibs/fess/auth/chain/CommandChain.java index 13f92f712..781941789 100644 --- a/src/main/java/org/codelibs/fess/auth/chain/CommandChain.java +++ b/src/main/java/org/codelibs/fess/auth/chain/CommandChain.java @@ -27,6 +27,7 @@ import java.util.LinkedList; import java.util.List; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.fess.crawler.Constants; import org.codelibs.fess.crawler.exception.CrawlerSystemException; import org.codelibs.fess.es.user.exentity.User; @@ -186,11 +187,7 @@ public class CommandChain implements AuthenticationChain { @Override public void run() { - try { - Thread.sleep(timeout); - } catch (final InterruptedException e) { - // ignore - } + ThreadUtil.sleepQuietly(timeout); if (!finished) { try { diff --git a/src/main/java/org/codelibs/fess/ds/AbstractDataStore.java b/src/main/java/org/codelibs/fess/ds/AbstractDataStore.java index 0c950b352..43c9c89cb 100644 --- a/src/main/java/org/codelibs/fess/ds/AbstractDataStore.java +++ b/src/main/java/org/codelibs/fess/ds/AbstractDataStore.java @@ -25,6 +25,7 @@ import java.util.Map; import java.util.stream.Collectors; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.ds.callback.IndexUpdateCallback; import org.codelibs.fess.es.config.exentity.DataConfig; @@ -137,11 +138,7 @@ public abstract class AbstractDataStore implements DataStore { } protected void sleep(final long interval) { - try { - Thread.sleep(interval); - } catch (final Exception e) { - // ignore - } + ThreadUtil.sleepQuietly(interval); } protected abstract void storeData(DataConfig dataConfig, IndexUpdateCallback callback, Map paramMap, diff --git a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java index 5a90a6f43..bbedc0385 100644 --- a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java +++ b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java @@ -45,6 +45,7 @@ import org.codelibs.core.exception.ResourceNotFoundRuntimeException; import org.codelibs.core.io.FileUtil; import org.codelibs.core.io.ResourceUtil; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.curl.CurlResponse; import org.codelibs.elasticsearch.client.HttpClient; import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner; @@ -590,11 +591,7 @@ public class FessEsClient implements Client { if (logger.isDebugEnabled()) { logger.debug("Failed to access to Elasticsearch:{}", i, cause); } - try { - Thread.sleep(1000L); - } catch (final InterruptedException e) { - // ignore - } + ThreadUtil.sleep(1000L); } final String message = "Elasticsearch (" + System.getProperty(Constants.FESS_ES_HTTP_ADDRESS) @@ -625,11 +622,7 @@ public class FessEsClient implements Client { if (logger.isDebugEnabled()) { logger.debug("Failed to access to configsync:{}", i, cause); } - try { - Thread.sleep(1000L); - } catch (final InterruptedException e) { - // ignore - } + ThreadUtil.sleep(1000L); } throw cause; } diff --git a/src/main/java/org/codelibs/fess/es/config/exbhv/ScheduledJobBhv.java b/src/main/java/org/codelibs/fess/es/config/exbhv/ScheduledJobBhv.java index 356097bb1..fbe00ac06 100644 --- a/src/main/java/org/codelibs/fess/es/config/exbhv/ScheduledJobBhv.java +++ b/src/main/java/org/codelibs/fess/es/config/exbhv/ScheduledJobBhv.java @@ -18,6 +18,7 @@ package org.codelibs.fess.es.config.exbhv; import java.util.regex.Pattern; import org.apache.commons.lang3.RandomUtils; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.fess.es.config.bsbhv.BsScheduledJobBhv; import org.codelibs.fess.es.config.exentity.ScheduledJob; import org.codelibs.fess.util.ComponentUtil; @@ -54,11 +55,7 @@ public class ScheduledJobBhv extends BsScheduledJobBhv { logger.debug("Failed to select a job by {}", id, e); } lastException = e; - try { - Thread.sleep(RandomUtils.nextLong(500, 5000)); - } catch (final InterruptedException e1) { - // ignore - } + ThreadUtil.sleep(RandomUtils.nextLong(500, 5000)); } } logger.warn("Failed to select a job by " + id, lastException); diff --git a/src/main/java/org/codelibs/fess/exec/Crawler.java b/src/main/java/org/codelibs/fess/exec/Crawler.java index 0930e16eb..fee42c0f0 100644 --- a/src/main/java/org/codelibs/fess/exec/Crawler.java +++ b/src/main/java/org/codelibs/fess/exec/Crawler.java @@ -36,7 +36,9 @@ import java.util.stream.Collectors; import javax.annotation.Resource; import org.codelibs.core.CoreLibConstants; +import org.codelibs.core.exception.InterruptedRuntimeException; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.core.misc.DynamicProperties; import org.codelibs.core.timer.TimeoutManager; import org.codelibs.core.timer.TimeoutTask; @@ -233,7 +235,7 @@ public class Crawler { while (true) { try { while (!reader.ready()) { - Thread.sleep(1000L); + ThreadUtil.sleep(1000L); } command = reader.readLine().trim(); if (logger.isDebugEnabled()) { @@ -247,7 +249,7 @@ public class Crawler { if (Thread.interrupted()) { return; } - } catch (final InterruptedException e) { + } catch (final InterruptedRuntimeException e) { return; } } diff --git a/src/main/java/org/codelibs/fess/helper/DataIndexHelper.java b/src/main/java/org/codelibs/fess/helper/DataIndexHelper.java index 9c68951cb..4650927e2 100644 --- a/src/main/java/org/codelibs/fess/helper/DataIndexHelper.java +++ b/src/main/java/org/codelibs/fess/helper/DataIndexHelper.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.app.service.FailureUrlService; import org.codelibs.fess.ds.DataStore; @@ -123,13 +124,7 @@ public class DataIndexHelper { dataCrawlingThreadStatusList.set(startedCrawlerNum, Constants.RUNNING); startedCrawlerNum++; activeCrawlerNum++; - try { - Thread.sleep(crawlingExecutionInterval); - } catch (final InterruptedException e) { - if (logger.isDebugEnabled()) { - logger.debug("Interrupted.", e); - } - } + ThreadUtil.sleep(crawlingExecutionInterval); continue; } @@ -141,13 +136,7 @@ public class DataIndexHelper { activeCrawlerNum--; } } - try { - Thread.sleep(crawlingExecutionInterval); - } catch (final InterruptedException e) { - if (logger.isDebugEnabled()) { - logger.debug("Interrupted.", e); - } - } + ThreadUtil.sleep(crawlingExecutionInterval); } boolean finishedAll = false; diff --git a/src/main/java/org/codelibs/fess/helper/IntervalControlHelper.java b/src/main/java/org/codelibs/fess/helper/IntervalControlHelper.java index 57a1884a6..453ff96e9 100644 --- a/src/main/java/org/codelibs/fess/helper/IntervalControlHelper.java +++ b/src/main/java/org/codelibs/fess/helper/IntervalControlHelper.java @@ -19,6 +19,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.List; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.fess.exception.FessSystemException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,26 +35,14 @@ public class IntervalControlHelper { public void checkCrawlerStatus() { while (!crawlerRunning) { - try { - Thread.sleep(crawlerWaitMillis); - } catch (final InterruptedException e) { - if (logger.isDebugEnabled()) { - logger.debug("Interrupted.", e); - } - } + ThreadUtil.sleepQuietly(crawlerWaitMillis); } } public void delayByRules() { final long delay = getDelay(); if (delay > 0) { - try { - Thread.sleep(delay); - } catch (final InterruptedException e) { - if (logger.isDebugEnabled()) { - logger.debug("Interrupted.", e); - } - } + ThreadUtil.sleep(delay); } } diff --git a/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java b/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java index d68710545..022664748 100644 --- a/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java +++ b/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java @@ -25,6 +25,7 @@ import javax.annotation.PostConstruct; import org.codelibs.core.concurrent.CommonPoolUtil; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.core.misc.Pair; import org.codelibs.fess.Constants; import org.codelibs.fess.entity.SearchRequestParams.SearchRequestType; @@ -108,13 +109,7 @@ public class KeyMatchHelper { } if (interval > 0) { - try { - Thread.sleep(interval); - } catch (final InterruptedException e) { - if (logger.isDebugEnabled()) { - logger.debug("Interrupted.", e); - } - } + ThreadUtil.sleep(interval); } }); this.keyMatchQueryMap = keyMatchQueryMap; diff --git a/src/main/java/org/codelibs/fess/helper/SystemHelper.java b/src/main/java/org/codelibs/fess/helper/SystemHelper.java index 9ea97c85e..055d5b141 100644 --- a/src/main/java/org/codelibs/fess/helper/SystemHelper.java +++ b/src/main/java/org/codelibs/fess/helper/SystemHelper.java @@ -52,6 +52,7 @@ import org.apache.logging.log4j.Level; import org.apache.logging.log4j.core.config.Configurator; import org.codelibs.core.exception.IORuntimeException; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.core.misc.Pair; import org.codelibs.fess.Constants; import org.codelibs.fess.crawler.util.CharUtil; @@ -369,14 +370,9 @@ public class SystemHelper { } } + @Deprecated public void sleep(final int sec) { - try { - Thread.sleep(sec * 1000L); - } catch (final InterruptedException e) { - if (logger.isDebugEnabled()) { - logger.debug("Interrupted.", e); - } - } + ThreadUtil.sleepQuietly(sec * 1000L); } public void addShutdownHook(final Runnable hook) { diff --git a/src/main/java/org/codelibs/fess/helper/WebFsIndexHelper.java b/src/main/java/org/codelibs/fess/helper/WebFsIndexHelper.java index ad895281e..4bad09412 100644 --- a/src/main/java/org/codelibs/fess/helper/WebFsIndexHelper.java +++ b/src/main/java/org/codelibs/fess/helper/WebFsIndexHelper.java @@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.regex.Pattern; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.crawler.Crawler; import org.codelibs.fess.crawler.CrawlerContext; @@ -365,13 +366,7 @@ public class WebFsIndexHelper { crawlerStatusList.set(startedCrawlerNum, Constants.RUNNING); startedCrawlerNum++; activeCrawlerNum++; - try { - Thread.sleep(crawlingExecutionInterval); - } catch (final InterruptedException e) { - if (logger.isDebugEnabled()) { - logger.debug("Interrupted.", e); - } - } + ThreadUtil.sleep(crawlingExecutionInterval); continue; } @@ -386,13 +381,7 @@ public class WebFsIndexHelper { activeCrawlerNum--; } } - try { - Thread.sleep(crawlingExecutionInterval); - } catch (final InterruptedException e) { - if (logger.isDebugEnabled()) { - logger.debug("Interrupted.", e); - } - } + ThreadUtil.sleep(crawlingExecutionInterval); } boolean finishedAll = false; diff --git a/src/main/java/org/codelibs/fess/indexer/IndexUpdater.java b/src/main/java/org/codelibs/fess/indexer/IndexUpdater.java index 7c7adfb6e..b913d360e 100644 --- a/src/main/java/org/codelibs/fess/indexer/IndexUpdater.java +++ b/src/main/java/org/codelibs/fess/indexer/IndexUpdater.java @@ -24,6 +24,7 @@ import javax.annotation.PreDestroy; import javax.annotation.Resource; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.crawler.Crawler; import org.codelibs.fess.crawler.entity.AccessResult; @@ -190,11 +191,7 @@ public class IndexUpdater extends Thread { final long interval = updateInterval - updateTime; if (interval > 0) { // sleep - try { - Thread.sleep(interval); // 10 sec (default) - } catch (final InterruptedException e) { - logger.warn("Interrupted index update.", e); - } + ThreadUtil.sleep(interval); // 10 sec (default) } docList.clear(); @@ -217,11 +214,7 @@ public class IndexUpdater extends Thread { long hitCount = ((EsResultList) arList).getTotalHits(); while (hitCount > 0) { if (arList.isEmpty()) { - try { - Thread.sleep(fessConfig.getIndexerWebfsCommitMarginTimeAsInteger().longValue()); - } catch (final Exception e) { - // ignore - } + ThreadUtil.sleep(fessConfig.getIndexerWebfsCommitMarginTimeAsInteger().longValue()); cleanupTime = -1; } else { processAccessResults(docList, accessResultList, arList); diff --git a/src/main/java/org/codelibs/fess/thumbnail/ThumbnailManager.java b/src/main/java/org/codelibs/fess/thumbnail/ThumbnailManager.java index a7a9f1063..8e481de71 100644 --- a/src/main/java/org/codelibs/fess/thumbnail/ThumbnailManager.java +++ b/src/main/java/org/codelibs/fess/thumbnail/ThumbnailManager.java @@ -37,6 +37,7 @@ import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import org.codelibs.core.lang.StringUtil; +import org.codelibs.core.lang.ThreadUtil; import org.codelibs.core.misc.Tuple3; import org.codelibs.fess.Constants; import org.codelibs.fess.es.client.FessEsClient; @@ -252,7 +253,7 @@ public class ThumbnailManager { } else { final long interval = fessConfig.getThumbnailGeneratorIntervalAsInteger().longValue(); if (interval > 0) { - Thread.sleep(interval); + ThreadUtil.sleep(interval); } } } else {