Доступ к сеансу другого веб-приложения

Можно ли настроить два отдельных веб-приложения (WAR) в приложении J2EE (EAR) для доступа к общему контексту сеанса?

Дополнительная информация:

В итоге я создал общий класс из EAR, который хранил необходимую информацию в статических членах. Это сработало, даже если это казалось грязным взломом.


person Community    schedule 04.11.2008    source источник


Ответы (3)


Не напрямую. Большинство контейнеров помещают каждый WAR в отдельный загрузчик классов с загрузчиком классов EAR в качестве родителя. Сеансы каждого приложения являются отдельными. Вы можете поместить что-то, предоставленное родительским EAR, в каждую сессию. Если вам нужно, чтобы они чем-то поделились, сделайте это функцией EAR.

person sblundy    schedule 04.11.2008

Насколько я читал и видел, невозможно разделить сеансы между разными веб-приложениями. Вы можете только сериализовать сеанс для передачи между экземплярами одного и того же веб-приложения.

person Eric Wendelin    schedule 04.11.2008

Для этого нет «стандартного» решения. Однако многие серверы приложений имеют для этого собственные расширения. Например, в WebSpere есть опция «Общий контекст сеанса».

См. здесь: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tprs_sharing_data.html

person Community    schedule 12.08.2009