This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new cc8e9f0 CAMEL-13025: File read lock - If file gets deleted then break
out loop
cc8e9f0 is described below
commit cc8e9f0040882d073b4dcc0ad540ac5d9d43fe19
Author: Claus Ibsen <[email protected]>
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 33c546b..346e56b 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 fbc5dd9..6ef7a79 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();