Apache зажигать кэш уничтожен после спящего режима
Я использую Apache Ignite 2,1 долговременной памяти. если я закрываю свой узел сервера зажигания и перезапускаю его, все работает нормально. но когда я закрываю свой серверный узел, переводю компьютер в спящий режим и включаю его при попытке получить кэш с помощью ignite.cache("name"), возвращаемое значение равно нулю. это конфигурация для моего зажигания:
cfg = new IgniteConfiguration();
TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
ipFinder.setAddresses(Arrays.asList(config.getClusterIpAddress()));
spi.setIpFinder(ipFinder);
cfg.setDiscoverySpi(spi);
PersistentStoreConfiguration pstCfg = new PersistentStoreConfiguration();
cfg.setPersistentStoreConfiguration(pstCfg);
Ignition.setClientMode(false);
конфигурация кэша:
final String cacheName = "name";
CacheConfiguration cfg = new CacheConfiguration<>(cacheName);
QueryEntity entity = new QueryEntity(keyType().getName(), valueClass.getName());
for (Field field : FieldUtils.getAllFields(valueClass)) {
entity.addQueryField(field.getName(), field.getType().getName(), field.getName());
}
cfg.setCacheMode(cacheMode);//some are replicated and some are PARTITIONED
List<QueryEntity> entities = new ArrayList<>();
entities.add(entity);
cfg.setQueryEntities(entities);
cfg.setIndexedTypes(keyType(), valueClass);
cfg.setBackups(3);
cfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
cfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
if (ignite.cache(cacheName) != null)
logger.info("{} cache already exists.", cacheName);
else {
ignite.createCache(cfg);
logger.info("{} cache created.", cacheName);
}