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

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

commit 0b82d18d9b8bda5365d35ffda57c3f7abcca05e7
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Fri Dec 21 21:34:58 2018 +0100

    CAMEL-13025: File read lock - If file gets deleted then break out loop
---
 .../file/strategy/FileChangedExclusiveReadLockStrategy.java         | 6 +++---
 .../component/file/strategy/FileLockExclusiveReadLockStrategy.java  | 5 +++++
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git 
a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
 
b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
index 9aa7698..951dc24 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
@@ -71,9 +71,9 @@ public class FileChangedExclusiveReadLockStrategy extends 
MarkerFileExclusiveRea
                 }
             }
 
-            if(!target.exists()) {
-                CamelLogger.log(LOG,readLockLoggingLevel,"File 
"+target.getName()+" got deleted.");
-               return false;
+            if (!target.exists()) {
+                CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire 
read lock as file no longer exists. Will skip the file: " + file);
+                return false;
             }
 
             long newLastModified = target.lastModified();
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
 
b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
index d43d1bc..ea4de82 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
@@ -86,6 +86,11 @@ public class FileLockExclusiveReadLockStrategy extends 
MarkerFileExclusiveReadLo
                     }
                 }
 
+                if (!target.exists()) {
+                    CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire 
read lock as file no longer exists. Will skip the file: " + file);
+                    return false;
+                }
+
                 // get the lock using either try lock or not depending on if 
we are using timeout or not
                 try {
                     lock = timeout > 0 ? channel.tryLock() : channel.lock();

Reply via email to