mirror of
https://github.com/Febbweiss/logstash-forwarder-java.git
synced 2026-03-04 22:25:39 +00:00
Corrected memory leak issue #4.
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>logstash-forwarder-java</groupId>
|
<groupId>logstash-forwarder-java</groupId>
|
||||||
<artifactId>logstash-forwarder-java</artifactId>
|
<artifactId>logstash-forwarder-java</artifactId>
|
||||||
<version>0.1.3</version>
|
<version>0.1.4-SNAPSHOT</version>
|
||||||
<name>logstash-forwarder-java</name>
|
<name>logstash-forwarder-java</name>
|
||||||
<description>Java version of logstash forwarder</description>
|
<description>Java version of logstash forwarder</description>
|
||||||
<url>https://github.com/didfet/logstash-forwarder-java</url>
|
<url>https://github.com/didfet/logstash-forwarder-java</url>
|
||||||
|
|||||||
@@ -158,6 +158,13 @@ public class FileState {
|
|||||||
this.oldFileState = oldFileState;
|
this.oldFileState = oldFileState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deleteOldFileState() {
|
||||||
|
try {
|
||||||
|
oldFileState.getRandomAccessFile().close();
|
||||||
|
oldFileState = null;
|
||||||
|
} catch(Exception e) {}
|
||||||
|
}
|
||||||
|
|
||||||
public Event getFields() {
|
public Event getFields() {
|
||||||
return fields;
|
return fields;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -170,20 +170,17 @@ public class FileWatcher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
logger.trace("Refreshing file state");
|
logger.trace("Refreshing file state");
|
||||||
for(File file : newWatchMap.keySet()) {
|
for(FileState state : newWatchMap.values()) {
|
||||||
if(logger.isTraceEnabled()) {
|
if(logger.isTraceEnabled()) {
|
||||||
logger.trace("Refreshing file : " + file.getCanonicalPath());
|
logger.trace("Refreshing file : " + state.getFile());
|
||||||
}
|
}
|
||||||
FileState state = newWatchMap.get(file);
|
|
||||||
FileState oldState = state.getOldFileState();
|
FileState oldState = state.getOldFileState();
|
||||||
if(oldState == null) {
|
if(oldState == null) {
|
||||||
logger.trace("File has been truncated or created, not retrieving pointer");
|
logger.trace("File has been truncated or created, not retrieving pointer");
|
||||||
} else {
|
} else {
|
||||||
logger.trace("File has not been truncated or created, retrieving pointer");
|
logger.trace("File has not been truncated or created, retrieving pointer");
|
||||||
state.setPointer(oldState.getPointer());
|
state.setPointer(oldState.getPointer());
|
||||||
try {
|
state.deleteOldFileState();
|
||||||
oldState.getRandomAccessFile().close();
|
|
||||||
} catch(Exception e) {}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user