From aa7ebf56ddee2402608a4c3e28038babc85f3e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=84=9E?= Date: Sat, 18 Nov 2023 18:28:15 +0800 Subject: [PATCH] up freeobjects --- rxlib/src/main/java/org/rx/core/Disposable.java | 1 + rxlib/src/main/java/org/rx/io/FileStream.java | 5 ++++- rxlib/src/main/java/org/rx/io/HybridStream.java | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/rxlib/src/main/java/org/rx/core/Disposable.java b/rxlib/src/main/java/org/rx/core/Disposable.java index 402b2fea..4ecb5c37 100644 --- a/rxlib/src/main/java/org/rx/core/Disposable.java +++ b/rxlib/src/main/java/org/rx/core/Disposable.java @@ -28,6 +28,7 @@ public synchronized void close() { if (closed) { return; } + //todo fields may be null freeObjects(); closed = true; } diff --git a/rxlib/src/main/java/org/rx/io/FileStream.java b/rxlib/src/main/java/org/rx/io/FileStream.java index cf46661a..df3cde8c 100644 --- a/rxlib/src/main/java/org/rx/io/FileStream.java +++ b/rxlib/src/main/java/org/rx/io/FileStream.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.rx.bean.FlagsEnum; import org.rx.core.Constants; +import org.rx.core.Extends; import org.rx.util.Lazy; import org.rx.util.Snowflake; import org.rx.util.function.TripleFunc; @@ -17,6 +18,8 @@ import java.nio.file.Paths; import java.nio.file.attribute.UserDefinedFileAttributeView; +import static org.rx.core.Extends.tryClose; + @Slf4j public class FileStream extends IOStream implements Serializable { private static final long serialVersionUID = 8857792573177348449L; @@ -211,7 +214,7 @@ public FileStream(@NonNull File file, FileMode mode, int bufSize, @NonNull Flags @Override protected void freeObjects() throws Throwable { - randomAccessFile.close(); + tryClose(randomAccessFile); } @Override diff --git a/rxlib/src/main/java/org/rx/io/HybridStream.java b/rxlib/src/main/java/org/rx/io/HybridStream.java index e7691689..b536898e 100644 --- a/rxlib/src/main/java/org/rx/io/HybridStream.java +++ b/rxlib/src/main/java/org/rx/io/HybridStream.java @@ -3,11 +3,14 @@ import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.rx.core.Constants; +import org.rx.core.Extends; import java.io.InputStream; import java.io.OutputStream; import java.io.Serializable; +import static org.rx.core.Extends.tryClose; + @Slf4j public final class HybridStream extends IOStream implements Serializable { private static final long serialVersionUID = 2137331266386948293L; @@ -76,7 +79,7 @@ public HybridStream(int maxMemorySize, boolean directMemory, String tempFilePath @Override protected void freeObjects() { - stream.close(); + tryClose(stream); } FileStream newFileStream() {