Локальное хранилище данных не сохраняется между перезапусками приложения - PullRequest
2 голосов
/ 15 сентября 2011

Я запускаю пример Гостевой книги из Google Developer CodeLab .

При добавлении записи она появляется в списке приветствий и в локальном хранилище данных

Пока все хорошо ...

Однако, когда я перезапускаю приложение, только некоторые записей все еще существуют, в то время как некоторые полностью исчезают, как из списка, поддерживаемого моим приложением, так и из локального хранилища данных , как видно из ссылки выше.

Я использую плагин Google для Eclipse для разработки и тестирования моего приложения.

Кто-нибудь может указать мне правильное направление?

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Вероятно, вы передаете аргумент --clear-datastore напрямую или через модуль запуска в dev_appserver. Другая возможность состоит в том, что что-то стирает ваш временный каталог (например, при перезагрузке), который является местоположением по умолчанию для локального хранилища данных dev_appserver.

Я не знаю, что может привести к исчезновению только некоторых сущностей, и это невозможно сказать, не увидев ваш код. Я также не знаю, что вы подразумеваете под «списком, поддерживаемым [вашим] приложением».

0 голосов
/ 16 сентября 2011

Спасибо за ваш ответ.

Я думаю, что аргумент --clear-datastore сотрет ВСЕ значения, а не только некоторые.

Локальные файлы хранилища данных в Сгенерированная appengine папка , все еще там, когда я перезагружаюсь, и снова, я думаю, что все значения исчезли бы, если бы эти файлы были удалены.предоставляется под вопросом).Список, поддерживаемый моим приложением, является просто списком, возвращаемым запросом и распечатанным:

<%
    PersistenceManager pm = PMF.get().getPersistenceManager();
    String query = "select from " + Greeting.class.getName();
    List<Greeting> greetings = (List<Greeting>) pm.newQuery(query).execute();
    if (greetings.isEmpty()) {
%>
<p>The guestbook has no messages.</p>
<%
    } else {
        for (Greetingg : greetings) {
            if (g.getAuthor() == null) {
%>
<p>An anonymous person wrote:</p>
<%
            } else {
%>
<p><b><%= g.getAuthor().getNickname() %></b> wrote:</p>
<%
            }
%>
<blockquote><%= g.getContent() %></blockquote>
<%
        }
    }
    pm.close();
%>
...