From f8f4ef5c7a247f743a09cd8d24bd185097e8bd2c Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Tue, 9 Oct 2007 08:31:54 +0000
Subject: [PATCH] add: feature to ignore a specifiable number of errors in
 listing a directory and log only then

SVN: 2062
---
 .../ch/systemsx/cisd/datamover/IncomingProcessor.java    | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/IncomingProcessor.java b/datamover/source/java/ch/systemsx/cisd/datamover/IncomingProcessor.java
index 289307d9714..527fdd901d6 100644
--- a/datamover/source/java/ch/systemsx/cisd/datamover/IncomingProcessor.java
+++ b/datamover/source/java/ch/systemsx/cisd/datamover/IncomingProcessor.java
@@ -46,6 +46,12 @@ import ch.systemsx.cisd.datamover.utils.QuietPeriodFileFilter;
  */
 public class IncomingProcessor implements IRecoverableTimerTaskFactory
 {
+    /**
+     * The number of consecutive errors of listing the incoming directories that are not reported in the log to avoid
+     * mailbox flooding.
+     */
+    private final static int NUMBER_OF_ERRORS_IN_LISTING_IGNORED = 2;
+
     private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, IncomingProcessor.class);
 
     private static final ISimpleLogger errorLog = new Log4jSimpleLogger(Level.ERROR, operationLog);
@@ -97,7 +103,8 @@ public class IncomingProcessor implements IRecoverableTimerTaskFactory
         final FileFilter filter = createQuietPeriodFilter();
 
         final DirectoryScanningTimerTask movingTask =
-                new DirectoryScanningTimerTask(incomingStore.getPath(), filter, pathHandler);
+                new DirectoryScanningTimerTask(incomingStore.getPath(), filter, pathHandler,
+                        NUMBER_OF_ERRORS_IN_LISTING_IGNORED);
         return new DataMoverProcess(movingTask, "Mover of Incoming Data", this);
     }
 
-- 
GitLab