summaryrefslogtreecommitdiff
path: root/lang/src/main/java/net/openhft/lang/io/DirectStore.java
diff options
context:
space:
mode:
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.java9
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() {