Я попробовал следующее с Hazecast 3.11
1.) Настройка узла A, который заполняет IQueue (распределенную очередь Hazelcast) объектами:
HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();
IQuery<String> configs = hazelcastInstance.getQueue("configs");
configs.add("foo");
2.) Присоединенный узел Aсо вторым узлом B и доступом к общей очереди, которая возвращает сохраненное значение из узла A
HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();
IQuery<String> configs = hazelcastInstance.getQueue("configs");
System.out.println(configs.poll());
3.) Хотя я установил значения резервного копирования и асинхронного резервного копирования в ноль, Hazelcast, кажется, реплицируетсясодержимое от узла 1 до узла 2. Почему?
Я пробовал это через xml и программную конфигурацию:
com.hazelcast.config.Config cfg = new com.hazelcast.config.Config();
NetworkConfig network = cfg.getNetworkConfig();
network.setPort(5701).setPortAutoIncrement(true).setPortCount(20);
JoinConfig join = network.getJoin();
join.getMulticastConfig().setEnabled(false);
join.getTcpIpConfig().addMember("172.105.65.xxx").setRequiredMember(null).setEnabled(true);
cfg.getQueueConfig("configs").setBackupCount(0).setAsyncBackupCount(0);
XML:
<?xml version="1.0" encoding="UTF-8"?>
<hazelcast xsi:schemaLocation=
"http://www.hazelcast.com/schema/config hazelcast-config-3.7.xsd"
xmlns="http://www.hazelcast.com/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<network>
<port auto-increment="true" port-count="20">5701</port>
<join>
<multicast enabled="false">
</multicast>
<tcp-ip enabled="true">
<member>172.105.65.xxx</member>
</tcp-ip>
</join>
</network>
<queue name="configs">
<statistics-enabled>false</statistics-enabled>
<max-size>0</max-size>
<backup-count>0</backup-count>
<async-backup-count>0</async-backup-count>
<empty-queue-ttl>-1</empty-queue-ttl>
</queue>
</hazelcast>