diff --git a/pom.xml b/pom.xml
index 6c45361..eaf497f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
logstash-forwarder-java
logstash-forwarder-java
- 0.1.3
+ 0.1.4-SNAPSHOT
logstash-forwarder-java
Java version of logstash forwarder
https://github.com/didfet/logstash-forwarder-java
diff --git a/src/main/java/info/fetter/logstashforwarder/FileState.java b/src/main/java/info/fetter/logstashforwarder/FileState.java
index 53e38da..e3623a7 100644
--- a/src/main/java/info/fetter/logstashforwarder/FileState.java
+++ b/src/main/java/info/fetter/logstashforwarder/FileState.java
@@ -157,6 +157,13 @@ public class FileState {
public void setOldFileState(FileState oldFileState) {
this.oldFileState = oldFileState;
}
+
+ public void deleteOldFileState() {
+ try {
+ oldFileState.getRandomAccessFile().close();
+ oldFileState = null;
+ } catch(Exception e) {}
+ }
public Event getFields() {
return fields;
diff --git a/src/main/java/info/fetter/logstashforwarder/FileWatcher.java b/src/main/java/info/fetter/logstashforwarder/FileWatcher.java
index 1c36b6a..1cd9301 100644
--- a/src/main/java/info/fetter/logstashforwarder/FileWatcher.java
+++ b/src/main/java/info/fetter/logstashforwarder/FileWatcher.java
@@ -170,20 +170,17 @@ public class FileWatcher {
}
logger.trace("Refreshing file state");
- for(File file : newWatchMap.keySet()) {
+ for(FileState state : newWatchMap.values()) {
if(logger.isTraceEnabled()) {
- logger.trace("Refreshing file : " + file.getCanonicalPath());
+ logger.trace("Refreshing file : " + state.getFile());
}
- FileState state = newWatchMap.get(file);
FileState oldState = state.getOldFileState();
if(oldState == null) {
logger.trace("File has been truncated or created, not retrieving pointer");
} else {
logger.trace("File has not been truncated or created, retrieving pointer");
state.setPointer(oldState.getPointer());
- try {
- oldState.getRandomAccessFile().close();
- } catch(Exception e) {}
+ state.deleteOldFileState();
}
}