Saya telah melihat beberapa pengembang mencari solusi untuk masalah ini: mengakses informasi sesi dari PERANG yang berbeda (bahkan ketika di dalam TELINGA yang sama) - berikut adalah beberapa contoh: Adakah cara untuk berbagi status sesi antara aplikasi yang berbeda di kucing jantan? , Sesi akses aplikasi web lain , file PERANG berbeda, sumber daya bersama , Tomcat: Bagaimana cara berbagi data antara dua aplikasi? , Apa yang dilakukan atribut crossContext di Tomcat? Apakah ini memungkinkan berbagi sesi? dan seterusnya...
Dari semua yang saya cari, ada beberapa solusi spesifik tergantung pada wadah, tetapi entah bagaimana ' bertentangan dengan spesifikasi '. Saya juga telah memeriksa spesifikasi Java EE tanpa hasil menemukan jawaban.
Beberapa pengembang berbicara tentang menggabungkan antara aplikasi web, tetapi saya cenderung tidak setuju. Apa alasan seseorang menyimpan WAR di dalam EAR yang sama jika tidak digabungkan? EJBs, misalnya, dapat diakses secara lokal (bahkan jika di dalam EJB JAR lain dalam EAR yang sama).
Lebih khusus lagi, salah satu PERANG saya menangani otentikasi dan otorisasi, dan saya ingin membagikan informasi ini dengan PERANG lainnya (di EAR yang sama). Saya telah berhasil mengatasi masalah yang sama sebelumnya dengan mengemas WARs sebagai JAR dan menempatkannya dalam proyek WAR tunggal (WEB-INF / lib). Namun saya tidak suka solusi ini (ini membutuhkan upaya besar pada penamaan servlet dan sebagainya).
Dan tidak ada solusi yang menjawab pertanyaan pertama (dan paling penting): Mengapa WAR tidak bisa berbagi informasi sesi?