Я сохраняю объект с объективизацией как это:Как остановить Objectify от возврата кешированных значений?
Thing th = new Thing();
th.identifier = thingId;
th.name = thingName;
th.json = thingData;
ofy().save().entity(thing);
pResponse.setStatus(200);
pResponse.getWriter().println("OK");
Я проверить с помощью хранилища данных браузера GAE, что значение было обновлено в базе данных. Я работаю локально. Затем я загружаю все такие вещи:
Map<String, List<Thing>> responseJsonMap = new HashMap<String, List<Thing>>();
List<Thing> things = ofy().load().type(Thing.class).list();
responseJsonMap.put("things", things);
pResponse.setContentType("application/json");
try {
GSON.toJson(responseJsonMap, pResponse.getWriter());
} ...
То, что я получаю, это данные, которые существовали до сохранения. Я попытался отключить кеширование на объекте и позвонить ofy().clear()
, но не работает. Если я перезагружу свой сервер или подожду достаточно долго, сохраненные данные пройдут. Я также попытался добавить .now()
после сохранения, но это не обязательно, так как я могу проверить в хранилище данных, что действие завершено. Я действительно хотел бы иметь возможность загружать только что сохраненные данные. Что я делаю не так?
Я использование Objectify4.0b1. –