This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
The following commit(s) were added to refs/heads/master by this push:
new c5e7099f35 [ENHANCEMENT] Explicitly close FileInputStream
c5e7099f35 is described below
commit c5e7099f3565218a48de507c093a8a624cad42e6
Author: Benoit TELLIER <[email protected]>
AuthorDate: Tue Apr 2 11:19:31 2024 +0200
[ENHANCEMENT] Explicitly close FileInputStream
---
.../src/main/java/org/apache/james/blob/api/Store.java | 5 ++++-
.../imapserver/netty/AbstractNettyImapRequestLineReader.java | 8 +++++++-
.../james/imapserver/netty/NettyStreamImapRequestLineReader.java | 5 ++++-
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git
a/server/blob/blob-common/src/main/java/org/apache/james/blob/api/Store.java
b/server/blob/blob-common/src/main/java/org/apache/james/blob/api/Store.java
index 0c5bf1c644..f13f36ea8f 100644
--- a/server/blob/blob-common/src/main/java/org/apache/james/blob/api/Store.java
+++ b/server/blob/blob-common/src/main/java/org/apache/james/blob/api/Store.java
@@ -121,7 +121,10 @@ public interface Store<T, I> {
FileBackedOutputStream out = new
FileBackedOutputStream(FILE_THRESHOLD);
try {
long size = in.transferTo(out);
- return Mono.just(new
DelegateCloseableByteSource(out.asByteSource(), out::reset, size));
+ return Mono.just(new
DelegateCloseableByteSource(out.asByteSource(), () -> {
+ out.reset();
+ out.close();
+ }, size));
} catch (Exception e) {
out.reset();
out.close();
diff --git
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/AbstractNettyImapRequestLineReader.java
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/AbstractNettyImapRequestLineReader.java
index 14be6d551a..44601671e2 100644
---
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/AbstractNettyImapRequestLineReader.java
+++
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/AbstractNettyImapRequestLineReader.java
@@ -18,6 +18,8 @@
****************************************************************/
package org.apache.james.imapserver.netty;
+import java.io.Closeable;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.function.Supplier;
@@ -27,7 +29,7 @@ import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.Channel;
-public abstract class AbstractNettyImapRequestLineReader extends
ImapRequestLineReader {
+public abstract class AbstractNettyImapRequestLineReader extends
ImapRequestLineReader implements Closeable {
private static final Supplier<ByteBuf> CONTINUATION_REQUEST = () ->
Unpooled.wrappedUnmodifiableBuffer(Unpooled.wrappedBuffer("+
Ok\r\n".getBytes(StandardCharsets.US_ASCII)));
private final Channel channel;
@@ -49,4 +51,8 @@ public abstract class AbstractNettyImapRequestLineReader
extends ImapRequestLine
}
}
+ @Override
+ public void close() throws IOException {
+
+ }
}
diff --git
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java
index ee3d533a21..6ca2cdc0af 100644
---
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java
+++
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java
@@ -55,7 +55,10 @@ public class NettyStreamImapRequestLineReader extends
AbstractNettyImapRequestLi
@Override
public void close() {
- Mono.fromRunnable(Throwing.runnable(() -> file.dispose()))
+ Mono.fromRunnable(Throwing.runnable(() -> {
+ file.dispose();
+ reader.close();
+ }))
.subscribeOn(Schedulers.boundedElastic())
.subscribe();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]