You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2016/01/21 15:32:38 UTC
[16/23] nifi git commit: NIFI-1414: Ensure that the DirectoryStream
is closed after streaming contents of a directory
NIFI-1414: Ensure that the DirectoryStream is closed after streaming contents of a directory
Signed-off-by: Matt Gilman <ma...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/3fc8bc00
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/3fc8bc00
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/3fc8bc00
Branch: refs/heads/NIFI-259
Commit: 3fc8bc00f11a32ee20d7aa4ad0615868d8aab684
Parents: ddd71b0
Author: Mark Payne <ma...@hotmail.com>
Authored: Wed Jan 20 09:12:14 2016 -0500
Committer: Matt Gilman <ma...@gmail.com>
Committed: Wed Jan 20 17:07:20 2016 -0500
----------------------------------------------------------------------
.../nifi/processors/standard/TailFile.java | 29 ++++++++++----------
1 file changed, 15 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/3fc8bc00/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java
index 3d6d3a0..626f7a4 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java
@@ -535,21 +535,22 @@ public class TailFile extends AbstractProcessor {
}
final List<File> rolledOffFiles = new ArrayList<>();
- final DirectoryStream<Path> dirStream = Files.newDirectoryStream(directory.toPath(), rollingPattern);
- for (final Path path : dirStream) {
- final File file = path.toFile();
- final long lastMod = file.lastModified();
-
- if (file.lastModified() < minTimestamp) {
- getLogger().debug("Found rolled off file {} but its last modified timestamp is before the cutoff (Last Mod = {}, Cutoff = {}) so will not consume it",
- new Object[] {file, lastMod, minTimestamp});
-
- continue;
- } else if (file.equals(tailFile)) {
- continue;
- }
+ try (final DirectoryStream<Path> dirStream = Files.newDirectoryStream(directory.toPath(), rollingPattern)) {
+ for (final Path path : dirStream) {
+ final File file = path.toFile();
+ final long lastMod = file.lastModified();
+
+ if (file.lastModified() < minTimestamp) {
+ getLogger().debug("Found rolled off file {} but its last modified timestamp is before the cutoff (Last Mod = {}, Cutoff = {}) so will not consume it",
+ new Object[] {file, lastMod, minTimestamp});
+
+ continue;
+ } else if (file.equals(tailFile)) {
+ continue;
+ }
- rolledOffFiles.add(file);
+ rolledOffFiles.add(file);
+ }
}
// Sort files based on last modified timestamp. If same timestamp, use filename as a secondary sort, as often