mirror of
https://github.com/OpenHFT/Chronicle-Map.git
synced 2021-09-13 01:26:12 +00:00
fixed builder serialization issue
This commit is contained in:
@@ -20,6 +20,8 @@ import net.openhft.chronicle.hash.ChronicleHash;
|
||||
import net.openhft.chronicle.hash.ChronicleHashInstanceConfig;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* A token which should be created via {@link ReplicationHub#createChannel(int)} call and passed to {@link
|
||||
* ChronicleHashInstanceConfig#replicatedViaChannel(ReplicationChannel)} method, to establish a channel
|
||||
@@ -31,7 +33,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
* @see ReplicationHub
|
||||
* @see ReplicationHub#createChannel(int)
|
||||
*/
|
||||
public final class ReplicationChannel {
|
||||
public final class ReplicationChannel implements Serializable{
|
||||
private ReplicationHub hub;
|
||||
private final int channelId;
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ import static net.openhft.lang.model.DataValueGenerator.firstPrimitiveFieldType;
|
||||
* @see ChronicleSetBuilder
|
||||
*/
|
||||
public final class ChronicleMapBuilder<K, V> implements Cloneable,
|
||||
ChronicleHashBuilder<K, ChronicleMap<K, V>, ChronicleMapBuilder<K, V>> {
|
||||
ChronicleHashBuilder<K, ChronicleMap<K, V>, ChronicleMapBuilder<K, V>>, Serializable {
|
||||
|
||||
static final byte UDP_REPLICATION_MODIFICATION_ITERATOR_ID = (byte)128;
|
||||
private static final int DEFAULT_KEY_OR_VALUE_SIZE = 120;
|
||||
|
||||
@@ -23,10 +23,11 @@ import net.openhft.chronicle.hash.replication.TcpTransportAndNetworkConfig;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
final class MapInstanceConfig<K, V>
|
||||
implements ChronicleHashInstanceConfig<ChronicleMap<K, V>> {
|
||||
implements ChronicleHashInstanceConfig<ChronicleMap<K, V>>, Serializable{
|
||||
|
||||
final ChronicleMapBuilder<K, V> mapBuilder;
|
||||
final SingleChronicleHashReplication singleHashReplication;
|
||||
|
||||
@@ -27,7 +27,6 @@ import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
@@ -83,7 +82,7 @@ class ReplicationHubFindByName<K> implements FindByName {
|
||||
|
||||
this.map = (Map) ChronicleMapBuilder
|
||||
.of(CharSequence.class, MapInstanceConfig.class)
|
||||
.entrySize(3000)
|
||||
.entrySize(4000)
|
||||
.entries(128)
|
||||
.eventListener(listener)
|
||||
.instance()
|
||||
|
||||
@@ -137,7 +137,7 @@ public class EntryCountMapTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
@Ignore ("ignore because its a scalability test")
|
||||
public void testLarge() throws Exception {
|
||||
int s = 8 * 1024;
|
||||
for (int i = 0; i < 10; i++) {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package net.openhft.chronicle.map;
|
||||
|
||||
import net.openhft.chronicle.hash.ChronicleHashInstanceConfig;
|
||||
import net.openhft.chronicle.hash.replication.ReplicationHub;
|
||||
import net.openhft.chronicle.hash.replication.TcpTransportAndNetworkConfig;
|
||||
import org.junit.Before;
|
||||
@@ -46,17 +45,17 @@ public class MapByNameTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore("builder is not serializable")
|
||||
public void testSerializingBuilder() throws TimeoutException, InterruptedException, IOException {
|
||||
|
||||
final MapInstanceConfig<CharSequence, CharSequence> config =
|
||||
(MapInstanceConfig<CharSequence, CharSequence>)
|
||||
ChronicleMapBuilder.of(CharSequence.class, CharSequence.class)
|
||||
.entries(2)
|
||||
.minSegments(2)
|
||||
.replication((byte) 1, TcpTransportAndNetworkConfig.of(8244))
|
||||
.removeReturnsNull(true)
|
||||
.instance().name("map1");
|
||||
ChronicleMapBuilder.of(CharSequence.class, CharSequence.class)
|
||||
.entrySize(900)
|
||||
.entries(2)
|
||||
.minSegments(2)
|
||||
.replication((byte) 1, TcpTransportAndNetworkConfig.of(8244))
|
||||
.removeReturnsNull(true)
|
||||
.instance().name("map1");
|
||||
|
||||
final ChronicleMap<CharSequence, CharSequence> map = findMapByName.create(config);
|
||||
map.put("hello", "world");
|
||||
@@ -77,11 +76,11 @@ public class MapByNameTest {
|
||||
|
||||
MapInstanceConfig<CharSequence, CharSequence> config =
|
||||
(MapInstanceConfig<CharSequence, CharSequence>)
|
||||
ChronicleMapBuilder.of(CharSequence.class, CharSequence.class)
|
||||
.minSegments(2)
|
||||
.removeReturnsNull(true)
|
||||
.instance()
|
||||
.name("myMap");
|
||||
ChronicleMapBuilder.of(CharSequence.class, CharSequence.class)
|
||||
.minSegments(2)
|
||||
.removeReturnsNull(true)
|
||||
.instance()
|
||||
.name("myMap");
|
||||
|
||||
ReplicationHubFindByName<CharSequence> mapByName = nodeDiscovery.mapByName();
|
||||
// mapByName.add(config);
|
||||
@@ -97,12 +96,12 @@ public class MapByNameTest {
|
||||
|
||||
MapInstanceConfig<CharSequence, CharSequence> config =
|
||||
(MapInstanceConfig<CharSequence, CharSequence>)
|
||||
ChronicleMapBuilder.of(CharSequence.class, CharSequence.class)
|
||||
.minSegments(2)
|
||||
.entries(2)
|
||||
.removeReturnsNull(true)
|
||||
.instance()
|
||||
.name("myMap6");
|
||||
ChronicleMapBuilder.of(CharSequence.class, CharSequence.class)
|
||||
.minSegments(2)
|
||||
.entries(2)
|
||||
.removeReturnsNull(true)
|
||||
.instance()
|
||||
.name("myMap6");
|
||||
|
||||
ChronicleMap<String, String> map = mapByName.create(config);
|
||||
map.put("hello", "world");
|
||||
|
||||
Reference in New Issue
Block a user