是否可以在 J2EE 应用程序 (EAR) 中配置两个单独的 Web 应用程序 (WAR) 以访问共享会话上下文?
更多信息:
我最终从 EAR 创建了一个共享类,它将所需的信息存储在静态成员中。这成功了,即使它看起来像一个肮脏的黑客。
是否可以在 J2EE 应用程序 (EAR) 中配置两个单独的 Web 应用程序 (WAR) 以访问共享会话上下文?
更多信息:
我最终从 EAR 创建了一个共享类,它将所需的信息存储在静态成员中。这成功了,即使它看起来像一个肮脏的黑客。
不是直接的。大多数容器将每个 WAR 放在一个单独的类加载器中,并将 EAR 类加载器作为其父类。每个应用程序的会话都是独立的。您可以在每个会话中放入父 EAR 提供的内容。如果您需要他们共享某些内容,请将其设为 EAR 功能。
据我所读和所见,不可能在不同的 web 应用程序之间共享会话。您只能序列化会话以在同一 web 应用程序的实例之间传输。
对此没有“标准”解决方案。但是,许多应用服务器对此都有自己的扩展。例如,WebSpere 有一个“共享会话上下文”选项。