如何在weblogic中分享会话

时间:2014-08-15 18:05:58

标签: java session weblogic locale

我在weblogic上运行了多个应用程序。我需要让用户选择语言(英语,西班牙语,法语......),当他们选择时,他们想要使用的所有应用程序必须基于他们选择的语言。当我在会话中保存Locale时,该应用程序的一切正常,但当用户单击其他应用程序(超出应用程序范围)时,语言将更改为默认值。有没有办法在所有应用程序之间共享此值?

3 个答案:

答案 0 :(得分:3)

是。一种选择是将用户区域设置首选项保存在共享数据库中。另一种是手动发送浏览器cookie。

答案 1 :(得分:0)

如果在同一服务器上部署应用程序,请尝试在weblogic上的服务器级别配置JMS。 请看这个对你有用的话题 http://middlewaremagic.com/weblogic/?p=1987

或者

使用会话共享状态模式 https://technology.amis.nl/2012/01/18/sharing-session-state-between-jee-web-application-through-weblogic-session-descriptor-of-sharing-enabled/

答案 2 :(得分:0)

您必须在同一企业应用程序(.ear)中共享Web应用程序(.war)之间的HTTP会话。在.ear的weblogic-application.xml中添加以下设置:

<session-descriptor>
  <sharing-enabled>true</sharing-enabled>
</session-descriptor>

请参阅:http://xmlns.oracle.com/weblogic/weblogic-application/1.2/weblogic-application.xsdhttp://xmlns.oracle.com/weblogic/weblogic-javaee/1.2/weblogic-javaee.xsd

注意:   当你混合几个.wars时要小心cookie名称。在我们的情况下,使用默认cookie名称JSESSIONID混合.wars(静态资源)和具有明确定义的会话cookie名称的应用程序,“共享”cookie名称变为JSESSIONID,而不是明确定义的名称。