Цитата(SoulSeeker @ 22.1.2011, 15:10 ) | | Как это толку нету? |
А так. Если нужно статическое поле sesion и чтобы она хранила одни данные для всех и при этом продолжало всё работать (из указанного примера), то нужно обновлять поле класса AAPSession, а не каждый раз создавать экземпляр. Смотрю по тому, что дано. Не знаю, что там в самом классе реализовано. Статика тут только для удобства получения данных текущего запроса и кроме этого толку в ней нет, так как при следующем запросе, все обновится и ничего разделяемого не будет. Можно сделать в классе AAPSession поле currentRequest, например, и его обновлять в сервлете.
Цитата(SoulSeeker @ 22.1.2011, 15:10 ) | Это будет одна разделяемая сессия для всех клиентов. session всегда будет инициализироваться тем, кто последний раз проходил через метод service. |
Во первых, сессия у каждого своя. Во вторых, если она при каждом запросе обновляется, откуда она будет одна разделяемая для всех клиентов? Поле session обновится данными клиента отправившего запрос. И так будет при каждом запросе.
Цитата(SoulSeeker @ 22.1.2011, 15:10 ) | | Не знаю, как такое может работать. |
Как это работает, я уже описал. Возможно, сервлет слушает все запросы и поэтому проблем не возникает.
Если это все работает, то неопасно, может кто-то другой считает иначе. Просто нужно помнить про статическое поле. |