Я использую hazelCast для сохранения только целочисленного значения в 2 разных приложениях Java. У меня есть 2 Java-приложения, которые работают на разных серверах.
Соединение HazelCast установлено успешно. Когда я пытаюсь увеличить значение с помощью следующей команды.
DistributedCounter counter = Hazelcast.getHazelcastInstanceByName("myinstance").getDistributedObject("myservice", "value");
counter.inc();
Я пытаюсь получить значение и увидеть значение = 10 после завершения операции увеличения на 10. но иногда я видел значение 8 или 9. иногда это работает.
Метод inc:
NodeEngine nodeEngine = getNodeEngine();
IncOperation operation = new IncOperation("value", 1);
int partitionId = nodeEngine.getPartitionService().getPartitionId("value");
InvocationBuilder builder = nodeEngine.getOperationService().createInvocationBuilder("myservice", operation, partitionId);
try {
final Future<Integer> future = builder.invoke();
return true;
}
catch (Exception e) {
throw ExceptionUtil.rethrow(e);
}
Конфигурация сети HazelCast установлена как мультикастинг. Я отключил TCP / IP.
Кто-нибудь может объяснить, почему Hazelcast работает непоследовательно? И как я могу справиться с этой ситуацией?