This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-2.22.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7b51c640bf7b70b9731e161bb03c3e03cf3aa5c7 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();