#java #hazelcast
Вопрос:
Я запускаю приложение, которое использует Hazelcast во встроенном режиме. Периодически наблюдая эту проблему при доступе к кэшу , приложение выдает ошибку «Экземпляр Hazelcast не активен».
Файлы кода выглядят следующим образом :
public DistributedServiceProvider() {
LOGGER.info("DistributedServiceProvider: " type);
if ("hazelcast".equalsIgnoreCase(type)) {
hazelcastInstance = HazelcastConfig.getInstance();
} else {
throw new Exception(NOT_CONFIGURED);
}
}
public IMap getMap(String name) {
if (hazelcastInstance != null) {
return hazelcastInstance.getMap(name);
}
throw new RuntimeException(NOT_INITIALIZED);
}
При запуске приложения и выполнении некоторых вариантов использования периодически возникает следующая ошибка.
An exception has occurred. Method:: compareIRTrackerRedemptions[null, Fri Apr 30 00:00:00 EDT 2021, Mon May 31 00:00:00 EDT 2021, true]
Root Cause: com.hazelcast.core.HazelcastInstanceNotActiveException: Hazelcast instance is not active!
at com.hazelcast.instance.impl.HazelcastInstanceProxy.getOriginal(HazelcastInstanceProxy.java:315)
at com.hazelcast.instance.impl.HazelcastInstanceProxy.getMap(HazelcastInstanceProxy.java:95)
at deshaw.descap.server.cache.provider.DistributedServiceProvider.getMap(DistributedServiceProvider.java:52)
at deshaw.descap.server.cache.BasicCache.getData(BasicCache.java:100)
at deshaw.descap.server.cache.FundCaches$FundCache.get(FundCaches.java:185)
Комментарии:
1. Есть ли еще какие-либо
com.hazelcast.*
сообщения в журналах, предшествующих исключению ? Поскольку вашhazelcastInstance
не равен нулю, вы обычно ожидаете этого только в том случае, если что-то отключит его с помощьюHazelcast.shutdownAll()
или одного из других механизмов выключения.2. @NeilStevenson Я действительно исследовал это под углом , но, к сожалению, вокруг этого ничего не было. Это только журналы вокруг com.hazelcast.* , остальные-трассировка стека приложений. все, что вы могли бы предложить в конфигурации hazelcast, что могло бы прояснить ситуацию.
3. Попробуйте настроить системное свойство
hazelcast.logging.type
в соответствии с используемым вами РЕГИСТРАТОРОМ. Если уровень веденияcom.hazelcast
журнала-это ИНФОРМАЦИЯ , вы получите более подробную информацию.