It is a Map storaging a snapshot of ignite cache data.You can see it defined in 
my code.

private Map<String, Object> cacheMap = new ConcurrentHashMap<>();

public void continueQueryCache() {
  try {
   IgniteCache<String, Object> clientCache = makeIgniteCache();
   if (clientCache != null) {
    ContinuousQuery<String, Object> query = new ContinuousQuery<>();
    query.setIncludeExpired(true);

    query.setInitialQuery(new ScanQuery<>());

    // listener
    query.setLocalListener(new CacheEntryUpdatedListener<String, Object>() {
     @Override
     public void onUpdated(Iterable<CacheEntryEvent<? extends String, ? extends 
Object>> evts) {
      for (CacheEntryEvent<? extends String, ? extends Object> e : evts) {
       switch (e.getEventType()) {
       case CREATED:
        cacheMap.put(e.getKey(), e.getValue());
        break;
       case UPDATED:
        cacheMap.put(e.getKey(), e.getValue());
        break;
       case REMOVED:
        cacheMap.remove(e.getKey());
        break;
       case EXPIRED:
        cacheMap.remove(e.getKey());
        break;
       default:
        throw new IllegalStateException("Unknown type: " + e.getEventType());
       }
      }
      LOG.info("reload [{}] objects from remote cache..", cacheMap.size());
     }
    });
    // start query
    QueryCursor<Cache.Entry<String, Object>> cursor = clientCache.query(query);
    for (Entry<String, Object> entry : cursor) {
     cacheMap.put(entry.getKey(), entry.getValue());
    }
   }
  }catch(Exception e) {
   LOG.error("continueQueryCache():get cacheClient error");
  }
 }
------------------------------------------------------------------
发件人:akurbanov <[email protected]>
发送时间:2018年9月6日(星期四) 20:45
收件人:user <[email protected]>
主 题:Re: how does Ignite Client restart ContinuousQuery when Ignite cluster 
failed and restart

Hello,

Can you clarify what is "local cache" in your use-case? What are you using
as a client for Ignite?



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to