From d096fe9c91234192e8358cf95faa04f28de357b4 Mon Sep 17 00:00:00 2001 From: Peter Lawrey Date: Sat, 4 Oct 2014 10:30:06 +0100 Subject: [PATCH] Add an examples for distributed counters. --- .../map/example/DistributedSequenceMain.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/test/java/net/openhft/chronicle/map/example/DistributedSequenceMain.java diff --git a/src/test/java/net/openhft/chronicle/map/example/DistributedSequenceMain.java b/src/test/java/net/openhft/chronicle/map/example/DistributedSequenceMain.java new file mode 100644 index 000000000..1b583704c --- /dev/null +++ b/src/test/java/net/openhft/chronicle/map/example/DistributedSequenceMain.java @@ -0,0 +1,29 @@ +package net.openhft.chronicle.map.example; + +import net.openhft.chronicle.map.ChronicleMap; +import net.openhft.chronicle.map.ChronicleMapBuilder; +import net.openhft.lang.model.DataValueClasses; +import net.openhft.lang.values.LongValue; + +import java.io.File; +import java.io.IOException; + +public class DistributedSequenceMain { + + public static void main(String... ignored) throws IOException { + Class longValueClass = DataValueClasses.directClassFor(LongValue.class); + ChronicleMap map = + ChronicleMapBuilder.of(String.class, longValueClass) + .entries(128) + .actualSegments(1) + .create(new File("/tmp/counters")); + LongValue value = DataValueClasses.newDirectReference(longValueClass); + map.acquireUsing("sequence", value); + + for (int i = 0; i < 1000000; i++) { + long nextId = value.addAtomicValue(1); + } + + map.close(); + } +}