У меня есть enabled sessions в App Engine, который отлично работает при развертывании приложения. Моя проблема в том, что это не работает в режиме разработки. Мне нужно что-то, чтобы упорствовать в сеансах где-то (диск, хранилище данных, память) в режиме разработки, чтобы мне не приходилось входить в мое приложение каждый раз, когда я перезапускаю локальный сервер (каждый раз, когда я вношу изменения в сервер или общий код) ,Сохранение сеанса в режиме разработки с помощью Google App Engine
Обычно я делаю это, определяя HashSessionManager в jetty-web.xml, но, видимо, (и понятно) App Engine explicitly disables этот файл конфигурации из соображений безопасности.
Кто-нибудь знает стандартный способ достижения локальной стойкости сессии в App Engine, если предположить, что он существует?
У меня есть следующие связанные строки в Appengine-web.xml:
<sessions-enabled>true</sessions-enabled>
<async-session-persistence enabled="true" />
Я использую версию 1.6.5 (последняя) на App Engine SDK.
Вот некоторые шаги, которые я взял:
В моей стороне сервера класса расширения RemoteServiceServlet, я добавил следующую строку:
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
// Added this line
System.out.println(request.getSession().getCreationTime());
...
}
Я перезапуск сервера в режиме разработчика, погрузил мое приложение и получил «1337796704817» за каждый запрос, сделанный моим приложением, указывающий, что один и тот же сеанс используется между запросами. Затем я перезапустил сервер режима dev, и был создан следующий запрос «1337796798184» с указанием нового сеанса.
Как указано ниже, я использую Google Cloud SQL, и я отключил параметры хранилища данных в настройках движка приложения, хотя это не вызывает никаких проблем при развертывании. Кроме того, я пробовал те же шаги, что и эти параметры, и получил те же результаты.
Так вы говорите, что до тех пор, как я m, не выходя из моего пути, чтобы очистить хранилище данных при запуске, сеансы должны сохраняться даже в режиме dev? В настоящее время он работает при развертывании, но я подтвердил, что сеансы режима разработки не записываются в хранилище данных, и я не проясняю это. Одно замечание: я не использую хранилище данных для чего-либо еще, я использую Google Cloud SQL, и у меня есть «Включенная локальная поддержка HRD» и «Использовать Datanucleus JDO/JPA для доступа к хранилищу данных», не установленную в настройках App Engine , – tangent