Как просмотреть содержимое кеша в JCache

Есть варианты чтения кеша с помощью ключей. Как это :

   Collection<Integer> userIds = context.getUserDao().allUserIds();  
   for (Integer userId : userIds) {
        User user = cache.getUserCache().get(userId);
        System.out.println(user.toString());
    }

С последним он загрузит просроченные файлы в кеш, а затем отобразит их.

Но требование состоит в том, чтобы просмотреть весь контент, который в настоящее время находится в кеше.


person Shenal    schedule 19.11.2014    source источник


Ответы (2)


Вот как можно просмотреть все содержимое кэша. Нашел метод после просмотра Java Docs JCache.

public void printAllCache(){

    Cache<String, String> cache = cacheManager.getCache(CACHENAME, String.class, String.class);

    Iterator<Cache.Entry<String,String>> allCacheEntries= cache.iterator();
    while(allCacheEntries.hasNext()){
        Cache.Entry<String,String> currentEntry = allCacheEntries.next();
        System.out.println("Key: "+currentEntry.getKey()+" Value: "+ currentEntry.getValue());
    }
    return returnProperties;

}
person Shenal    schedule 08.12.2014

Посмотрите, поможет ли следующая ссылка https://docs.oracle.com/middleware/1213/coherence/develop-applications/jcache_basic.htm#COHDG5812

person Ahsen    schedule 19.11.2014
comment
Это дает возможность получить данные только для известных ключей. Что я хочу знать, так это получить все содержимое кеша, не зная ключей. - person Shenal; 19.11.2014