MINOR: Make IO interfaces with close method implement java.io.Closeable

Fixes #7776
This commit is contained in:
Armin 2017-07-23 19:37:51 +02:00 committed by Armin Braun
parent b5c540010b
commit a055b2b854
4 changed files with 12 additions and 4 deletions

View file

@ -18,6 +18,7 @@
*/ */
package org.logstash.common.io; package org.logstash.common.io;
import java.io.Closeable;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.logstash.DLQEntry; import org.logstash.DLQEntry;
@ -39,7 +40,7 @@ import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE; import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
import static org.logstash.common.io.DeadLetterQueueWriter.getSegmentPaths; import static org.logstash.common.io.DeadLetterQueueWriter.getSegmentPaths;
public class DeadLetterQueueReader { public final class DeadLetterQueueReader implements Closeable {
private static final Logger logger = LogManager.getLogger(DeadLetterQueueReader.class); private static final Logger logger = LogManager.getLogger(DeadLetterQueueReader.class);
private RecordIOReader currentReader; private RecordIOReader currentReader;
@ -142,6 +143,7 @@ public class DeadLetterQueueReader {
return currentReader.getChannelPosition(); return currentReader.getChannelPosition();
} }
@Override
public void close() throws IOException { public void close() throws IOException {
if (currentReader != null) { if (currentReader != null) {
currentReader.close(); currentReader.close();

View file

@ -18,6 +18,7 @@
*/ */
package org.logstash.common.io; package org.logstash.common.io;
import java.io.Closeable;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.logstash.DLQEntry; import org.logstash.DLQEntry;
@ -37,7 +38,7 @@ import java.util.stream.Stream;
import static org.logstash.common.io.RecordIOWriter.RECORD_HEADER_SIZE; import static org.logstash.common.io.RecordIOWriter.RECORD_HEADER_SIZE;
public class DeadLetterQueueWriter { public final class DeadLetterQueueWriter implements Closeable {
private static final Logger logger = LogManager.getLogger(DeadLetterQueueWriter.class); private static final Logger logger = LogManager.getLogger(DeadLetterQueueWriter.class);
private static final long MAX_SEGMENT_SIZE_BYTES = 10 * 1024 * 1024; private static final long MAX_SEGMENT_SIZE_BYTES = 10 * 1024 * 1024;
@ -143,6 +144,7 @@ public class DeadLetterQueueWriter {
currentQueueSize.add(currentWriter.writeEvent(record)); currentQueueSize.add(currentWriter.writeEvent(record));
} }
@Override
public synchronized void close() throws IOException { public synchronized void close() throws IOException {
this.lock.release(); this.lock.release();
if (currentWriter != null) { if (currentWriter != null) {

View file

@ -18,6 +18,7 @@
*/ */
package org.logstash.common.io; package org.logstash.common.io;
import java.io.Closeable;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.channels.ClosedByInterruptException; import java.nio.channels.ClosedByInterruptException;
@ -36,7 +37,7 @@ import static org.logstash.common.io.RecordIOWriter.VERSION_SIZE;
/** /**
*/ */
public class RecordIOReader { public final class RecordIOReader implements Closeable {
private final FileChannel channel; private final FileChannel channel;
private final ByteBuffer currentBlock; private final ByteBuffer currentBlock;
@ -228,6 +229,7 @@ public class RecordIOReader {
} }
} }
@Override
public void close() throws IOException { public void close() throws IOException {
channel.close(); channel.close();
} }

View file

@ -18,6 +18,7 @@
*/ */
package org.logstash.common.io; package org.logstash.common.io;
import java.io.Closeable;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.channels.FileChannel; import java.nio.channels.FileChannel;
@ -63,7 +64,7 @@ import static org.logstash.common.io.RecordType.START;
* by a final END record type. * by a final END record type.
* END: The final record segment of an LS Event, the final record representing the end of an LS Event. * END: The final record segment of an LS Event, the final record representing the end of an LS Event.
*/ */
public class RecordIOWriter { public final class RecordIOWriter implements Closeable {
private final FileChannel channel; private final FileChannel channel;
private int posInBlock; private int posInBlock;
@ -139,6 +140,7 @@ public class RecordIOWriter {
return channel.position() - startPosition; return channel.position() - startPosition;
} }
@Override
public void close() throws IOException { public void close() throws IOException {
channel.close(); channel.close();
} }