diff options
Diffstat (limited to 'lang/src/main/java/net/openhft/lang/io/DirectStore.java')
-rw-r--r-- | lang/src/main/java/net/openhft/lang/io/DirectStore.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lang/src/main/java/net/openhft/lang/io/DirectStore.java b/lang/src/main/java/net/openhft/lang/io/DirectStore.java index ca1b4a3..fd69925 100644 --- a/lang/src/main/java/net/openhft/lang/io/DirectStore.java +++ b/lang/src/main/java/net/openhft/lang/io/DirectStore.java @@ -22,7 +22,7 @@ import net.openhft.lang.io.serialization.JDKZObjectSerializer; import net.openhft.lang.io.serialization.ObjectSerializer; import net.openhft.lang.io.serialization.impl.VanillaBytesMarshallerFactory; import net.openhft.lang.model.constraints.NotNull; -import sun.misc.Cleaner; +import java.lang.ref.Cleaner; import java.io.File; import java.util.concurrent.atomic.AtomicInteger; @@ -32,7 +32,8 @@ import java.util.concurrent.atomic.AtomicInteger; */ public class DirectStore implements BytesStore, AutoCloseable { private final ObjectSerializer objectSerializer; - private final Cleaner cleaner; + private final static Cleaner cleaner = Cleaner.create(); + private Cleaner.Cleanable cleanable; private final Deallocator deallocator; private long address; private long size; @@ -62,7 +63,7 @@ public class DirectStore implements BytesStore, AutoCloseable { this.size = size; deallocator = new Deallocator(address); - cleaner = Cleaner.create(this, deallocator); + cleanable = cleaner.register(this, deallocator); } @Override @@ -123,7 +124,7 @@ public class DirectStore implements BytesStore, AutoCloseable { } public void free() { - cleaner.clean(); + cleanable.clean(); } public long size() { |