Я бачив декількох розробників, які шукають рішення цієї проблеми: доступ до інформації про сеанси з іншої ВІЙНИ (навіть коли всередині одного і того ж EAR) - ось кілька прикладів: Будь-який спосіб поділити стан сеансу між різними програмами в tomcat? , Сеанс доступу до іншої веб-програми , різних файлів WAR, спільних ресурсів , Tomcat: Як ділитися даними між двома програмами? , Що робить атрибут crossContext у Tomcat? Чи це дозволяє обмін сеансом? і так далі...
З усього, що я шукав, є деякі конкретні рішення залежно від контейнера, але це якось " суперечить специфікації ". Я також переглянув специфікацію Java EE, не пощастивши знайти відповідь.
Деякі розробники говорять про з'єднання між веб-додатками, але я схильний не погоджуватися. З якої причини можна було б утримувати ВІЙНИ в одній і тій самій EAR, якщо б не з'єднання? Наприклад, до EJB можна отримати доступ локально (навіть якщо в іншому EAR є всередині іншого JAR JJB).
Більш конкретно, одна з моїх ВОЙН обробляє автентифікацію та авторизацію, і я хотів би поділитися цією інформацією з іншими ВІН (у тій самій ЗНО). Раніше мені вдалося подолати подібні проблеми, упакувавши WARs як JARs та ввівши їх у єдиний проект ВІЙНИ (WEB-INF / lib). Але мені це рішення не подобається (воно вимагає величезних зусиль щодо іменування сервлетів тощо).
І жодне рішення не дало відповіді на перше (і найважливіше) питання: Чому ВОЙНИ не можуть ділитися інформацією про сеанси?