ГАЕ Сессия не ведет себя то же самое офлайн или онлайн

У меня есть этот код:

private String delete(HttpServletRequest req, HttpServletResponse res, Seller seller) throws Exception {

    //check data
    if(req.getParameter("equipmentId") == null) {

    throw new Exception("equipmentId undefined");

}

//build
Equipment equipment = new Equipment(Integer.parseInt(req.getParameter("equipmentId")));

//delete
dbEquipment.delete(equipment);

//remove in array list
for(int i = 0; i < seller.getListEquipment().size(); i++) {

    if(seller.getListEquipment().get(i).getId() == equipment.getId()) {

        seller.getListEquipment().remove(i);

    }

}

//response
return "ok";

}

The seller attribute passed is from the HTTPSession : ((Seller) req.getSession().getAttribute("user"))

Этот код обновляет моего Продавца объекта, прекрасного офлайновый, но онлайн, обновление не обнаруживается, это - все еще старый object/ArrayList.

0
nl ja de

2 ответы

Попытайтесь экономить объект назад в сессию после того, как вы обновляете, это - содержание.

1
добавлено
Почему делают вы верите it' s ошибка? Как сессия должна знать, что вы изменили содержание объектов?
добавлено автор Peter Knego, источник
хорошо i' m собирающийся попытка это, но я don' t видят, почему я должен сделать это на самом деле. Спасибо;)
добавлено автор Jerome Ansia, источник
хороший это работает->, но определенно ошибка в Google App Engine/Java/Session. Что-то не так с переносом сессии по системе HRD может быть...
добавлено автор Jerome Ansia, источник
Поскольку объект сессии передается как ссылка на фактический метод, так изменение содержания этого объекта изменяет объект сессии. И я могу подтвердить вас, что это работает офлайн без этой фиксации, но не онлайн, таким образом, есть что-то не так...
добавлено автор Jerome Ansia, источник

В вашем appengine-web.xml добавляют эту линию:

true

Я не уверен, но это было повторным, принимают за меня.: P

Кроме того, необходимо удостовериться, что все объекты, которые являются вами собирающийся сохраняться к сессии, осуществляют java.io. Сериализуемый интерфейс. Причина объект должен быть сериализуемым, состоит в том, потому что Двигатель Приложения хранит данные о сессии в хранилище данных и кэш-памяти. Любые объекты, на которые ссылается стоимость, вы вставляете сессию, должны быть сериализуемыми, таким образом, весь граф объектов доступен. То, что я счел интересным, - то, что это должно передать данные о сессии transactionally основанным способом, потому что я также сохранил Последовательность на сессии, и это не было сохранено также. Если объект не будет сериализуемым, приложение НЕ потерпит неудачу в местной машине развития, но потерпит неудачу, когда развернуто к облаку.

Source: http://afewguyscoding.com/2011/02/httpsession-google-app-engine/

0
добавлено
Это работало? Сериализуемая вещь?
добавлено автор Rajat Garg, источник
да это позволено
добавлено автор Jerome Ansia, источник
нет это было позволено прежде, но спасибо за попытку и да все сериализуемое (в объекте сессии)
добавлено автор Jerome Ansia, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async