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

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

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

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

Ответы [ 3 ]

6 голосов
/ 04 ноября 2008

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

1 голос
/ 04 ноября 2008

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

0 голосов
/ 12 августа 2009

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

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

...