访问另一个 Web 应用程序的会话
是否可以在 J2EE 应用程序 (EAR) 中配置两个单独的 Web 应用程序 (WAR) 来访问共享会话上下文?
进一步信息:
我最终从 EAR 创建了一个共享类,它将所需的信息存储在静态成员中。 这确实达到了目的,即使这看起来像是一个肮脏的黑客行为。
Is it possible to configure two separate web apps (WAR) in a J2EE application (EAR) to access a shared session context?
Further info:
I ended up creating a shared class from the EAR which stored the required information in static members. This did the trick, even if it seemed like a dirty hack.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不直接。 大多数容器将每个 WAR 放入单独的类加载器中,并以 EAR 类加载器作为其父类。 每个应用程序的会话都是独立的。 您可以在每个会话中放置父 EAR 提供的内容。 如果您需要他们分享某些内容,请将其设为 EAR 功能。
Not directly. Most containers put each WAR in a separate classloader with the EAR classloader as their parent. Each app's sessions are separate. You can put something provided by the parent EAR in each session. If you need them to share something, make it a EAR function.
据我所读和所见,不可能在不同的网络应用程序之间共享会话。 您只能序列化会话以在同一 Web 应用程序的实例之间进行传输。
As far as i've read and seen, it is not possible to share sessions across different webapps. You can only serialize a session for transfer between instances of the same webapp.
对此没有“标准”解决方案。 然而,许多应用程序服务器对此都有自己的扩展。 例如,WebSpere 有一个“共享会话上下文”选项。
请参阅此处:http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae /tprs_sharing_data.html
There is no "standard" solution to this. However, many application servers have their own extensions for this. WebSpere has a "Shared session context" option for example.
See here: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tprs_sharing_data.html