You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/10/21 10:40:23 UTC

[camel] branch camel-4.0.x updated: Revert "File Changed ReadLock Strategy with minAge only looks for lastModified (#10131)"

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-4.0.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.0.x by this push:
     new 1a815dcc6d8 Revert "File Changed ReadLock Strategy with minAge only looks for lastModified (#10131)"
1a815dcc6d8 is described below

commit 1a815dcc6d8fe4fa6035d89188ec53f693d98a89
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Oct 21 12:21:08 2023 +0200

    Revert "File Changed ReadLock Strategy with minAge only looks for lastModified (#10131)"
    
    This reverts commit e957e02a6f73daed34e7e912951763d383064a9c.
---
 .../strategy/FileChangedExclusiveReadLockStrategy.java     | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java b/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
index 1bf34e8b0c5..c3d01f0880f 100644
--- a/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
+++ b/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.file.strategy;
 
 import java.io.File;
+import java.util.Date;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.LoggingLevel;
@@ -57,7 +58,7 @@ public class FileChangedExclusiveReadLockStrategy extends MarkerFileExclusiveRea
         long lastModified = Long.MIN_VALUE;
         long length = Long.MIN_VALUE;
         StopWatch watch = new StopWatch();
-        long startTime = System.currentTimeMillis();
+        long startTime = (new Date()).getTime();
 
         while (!exclusive) {
             // timeout check
@@ -80,15 +81,16 @@ public class FileChangedExclusiveReadLockStrategy extends MarkerFileExclusiveRea
 
             long newLastModified = target.lastModified();
             long newLength = target.length();
-            long minTriggerTime = startTime + minAge;
-            long currentTime = System.currentTimeMillis();
+            long newOlderThan = startTime + watch.taken() - minAge;
 
             LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
             LOG.trace("Previous length: {}, new length: {}", length, newLength);
-            LOG.trace("Min File Trigger Time: {}", minTriggerTime);
+            LOG.trace("New older than threshold: {}", newOlderThan);
 
-            if (newLength >= minLength && currentTime >= minTriggerTime
-                    && newLastModified == lastModified && newLength == length) {
+            // CHECKSTYLE:OFF
+            if (newLength >= minLength && ((minAge == 0 && newLastModified == lastModified && newLength == length)
+                    || (minAge != 0 && newLastModified < newOlderThan))) {
+            // CHECKSTYLE:ON
                 LOG.trace("Read lock acquired.");
                 exclusive = true;
             } else {