Ho visto diversi sviluppatori in cerca di una soluzione per questo problema: accedere alle informazioni sulla sessione da una GUERRA diversa (anche quando si è all'interno dello stesso EAR) - ecco alcuni esempi: Un modo per condividere lo stato della sessione tra diverse applicazioni in tomcat? , Accesso alla sessione di un'altra applicazione web , diversi file WAR, risorse condivise , Tomcat: come condividere i dati tra due applicazioni? , Che cosa fa il crossContext a ttribute do in Tomcat? Abilita la condivisione della sessione? e così via ...
Da tutto quello che ho cercato, ci sono alcune soluzioni specifiche a seconda del contenitore, ma è in qualche modo " contrariamente alle specifiche ". Ho anche controllato le specifiche Java EE senza fortuna nel trovare una risposta.
Alcuni sviluppatori parlano di accoppiamento tra applicazioni web, ma io tendo a non essere d'accordo. Qual è la ragione per cui si potrebbero mantenere WAR all'interno dello stesso EAR se non si accoppia? Gli EJB, ad esempio, possono essere consultati localmente (anche se all'interno di un altro JAR EJB all'interno dello stesso EAR).
Più in particolare, uno dei miei WAR gestisce l'autenticazione e l'autorizzazione e vorrei condividere queste informazioni con altri WAR (nello stesso EAR). Sono riuscito a risolvere problemi simili prima confezionando WAR come JAR e inserendoli in un singolare progetto WAR (WEB-INF / lib). Tuttavia non mi piace questa soluzione (richiede un enorme sforzo per la denominazione dei servlet e così via).
E nessuna soluzione ha risposto alla prima (e più importante) domanda: Perché WAR non può condividere le informazioni sulla sessione?