Сессия сервлетов и два военных файла
Мне интересно спросить... Можно ли вести сеанс между двумя войнами на ОДНОМ веб-сервере. Например, есть
- А) военный файл А
Б) военный файл Б
военный файл А имеет
...
String aText="Hello World";
session.setAttribute("anAttribute",aText);
...
так что мой вопрос... Могу ли я назвать код как
String fromAWarFile=session.getAttribute("anAttribute");
... из военного файла B, чтобы получить значение "Hello World" для военного файла A?
Любой полезный комментарий приветствуется
3 ответа
Я думаю, что вы ищете кластеризацию сессий http://www.ibm.com/developerworks/java/library/j-jtp07294/index.html, я думаю, что все основные контейнеры сервлетов поддерживают это.
Вот документация от tomcat http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
Нет, спецификация сервлета запрещает это. Все войны должны быть автономными. Может быть, программное обеспечение портала может помочь вам. Вы должны либо создать общий магазин, либо прибегнуть к функциям вашего контейнера, которые могут это поддерживать.
Что ж, не рекомендуется использовать общий сеанс между двумя WAR-ами, но вы можете добиться этого, поддерживая общий кеш или около того. Вам необходимо создать класс-оболочку HttpSession, который будет содержать API для получения обновленной информации из кэша. Вы можете решить, как часто или на основе каких даже вы хотите обновить ваш сеанс.