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);
        }

0 ответов

Другие вопросы по тегам