Как получить содержимое (ключи) объекта Java JCache в приложении Google AppEngine - PullRequest
0 голосов
/ 22 апреля 2010

Использование Memcache Java API (http://code.google.com/appengine/docs/java/memcache/overview.html)

JCache реализован не полностью, а методы values ​​(), keySet (), а также entrySet () throw java.lang.UnsupportedOperationException

Кто-нибудь знает обходной путь или есть рабочий пример с использованием низкоуровневого API?

1 Ответ

0 голосов
/ 22 апреля 2010

Единственный обходной путь, который я вижу, - это создание другого экземпляра Cache с целью сохранения под известным ключом объекта, содержащего ключи, или любой более сложной структуры. Эта структура изменена в методах onPut () и onRemove () используемого CacheListener:

public void onRemove(Object key)
{
  LOG.log(Level.INFO, key.toString());
  Map<Integer, Date> realEstateIdByDate = (Map<Integer, Date>) keyCache.get("realEstateIdByDate");
  realEstateIdByDate.remove(key);
  keyCache.put("realEstateIdByDate", realEstateIdByDate);
}

@Override
public void onPut(Object object)
{
  LOG.log(Level.INFO, object.toString());
  Map<Integer, Date> realEstateIdByDate = (Map<Integer, Date>) keyCache.get("realEstateIdByDate");
  realEstateIdByDate.put(((RealEstateAd)object).getRealEstateId(), new Date());
  keyCache.put("realEstateIdByDate", realEstateIdByDate);
}

Любые отзывы более чем приветствуются; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...