验证 Weblogic.xml 条目:
确保 weblogic.xml 含有需要为每个“会话复制”类型设置的所有参数。 例如,当使用内存中复制时,样本weblogic.xml将类似于如下形式:
<session-descriptor>
<session-param>
<param-name>
PersistentStoreType
</param-name>
<param-value>
replicated
</param-value>
</session-param>
</session-descriptor>
会话数据必须可序列化
为了支持 HTTP 会话状态的内存中复制,所有 servlet 和 JSP 会话数据都必须是可序列化的,否则会话复制将会失败。当启用了调试标志时,Weblogic Server 将在下面输出警告消息,指示会话仍未被复制。您必须使该对象变为可序列化的对象,这样才能复制它。其它对象的会话复制将会正常进行。
调试消息:
<Oct 8, 2003 2:10:45 PM PDT> <Error> <Cluster> <000126> <All session objects should be serializable to replicate. Please check the objects in your session. Failed to replicate non-serializable object> |
解决办法:找到从中抛出错误的页面,并确保输入会话中的所有数据是可序列化的。
检查网络/组播问题:
确保网络是完好的,且没有组播问题。您可以执行组播测试来确保组播 IP 工作正常。
<!--[if !supportLists]-->1. <!--[endif]-->运行utils.MulticastTest 实用程序
语法形式类似于:
java utils.MulticastTest -n name -a address [-p portnumber] [-t timeout] [-s send]
<!--[if !supportLists]-->2. <!--[endif]-->您也可以参阅 http://e-docs.bea.com/wls/docs81/admin_ref/utils.html#1199798
验证群集配置:
从群集列表中选择 Primary 服务器和 Secondary 服务器。在一个由两个服务器组成的群集中,如果该群集没有包含所有服务器,则不能选择 Secondary 服务器,从而导致会话数据不能被复制。
若要验证,可执行下列命令:
<!--[if !supportLists]-->1. <!--[endif]-->确保weblogic.jar在类路径中。
<!--[if !supportLists]-->2. <!--[endif]-->若要获得群集中的所有服务器:
java weblogic.Admin -username weblogic -password weblogic -url http://oneofthemanagedserverurlinthecluster:6151/ GET -type ClusterRuntime .pretty
这样将列出群集中的所有服务器。可以将 URL 改变为群集中的每个服务器,以确保他们拥有相同的条目。
应用程序代码诊断:
确保仅在应用程序代码中使用HttpSession中的setAttribute/removeAttribute 方法来更新 Http 会话。如果您使用其它设置方法来更改会话内的对象,WebLogic Server 将不复制这些更改。
请不要使用 http 会话的putValue和removeValue方法,因为它们不受支持,并且当您在应用程序中使用这些方法时,可能会出现会话数据复制问题。相反,请仅使用 HttpSession 的setAttribute/removeAttribute方法。
Cookie 与 URL Rewriting :
在某些情况下,浏览器或无线设备可能不接受 cookie,这样会使利用 cookie 的会话跟踪不能进行。当 WebLogic Server 检测到浏览器不接受 cookie 时,URL Rewriting 是对这种情况的一个可自动替换的解决方法。
通过设置WebLogic-specific部署描述符weblogic.xml中、<session-param> 元素下的URLRewritingEnabled属性,在 WebLogic Server 中启用 URL Rewriting。此属性的缺省值为 true。
性能问题:
考虑序列化系统开销
序列化会话数据会给复制会话状态带来一些系统开销。系统开销随序列化对象大小的增大而增加。如果您想在会话中创建很大的对象,请测试您的 servlet 的性能,以确保性能是可接受的。
控制对会话数据的帧访问
如果您正在设计使用多帧的 Web 应用程序,请记住给定帧集中的帧无法执行任何请求同步。
例如,尽管在逻辑上客户端应当仅创建单个会话,但帧集中的多个帧可以代表客户端应用程序创建多个会话。
为了避免意外的应用程序行为,您应认真规划如何利用帧访问会话数据。可以应用下列其中一个一般规则来避免常见问题:
- 在一个给定帧集中,确保只有一个帧创建和修改会话数据。
- 始终在应用程序使用的第一个帧集内的某个帧中创建会话(例如,在所访问的第一个 HTML 页面中创建会话)。
- 在创建会话后,仅在除第一个帧集外的其它帧集中访问会话数据。
在会话中存储更大量的数据
JDBC 持久性和文件持久性的速度将不会更快,因为会话数据必须存储在外部资源中并从中检索,并且也会因为 JDBC 访问每个会话的更新信息而存在性能开销。如果您想在会话中存储大型对象,则应考虑 JDBC 或文件持久性。
在会话中存储小量的数据
当您不需要在会话中存储大量数据时,基于 cookie 的会话持久性是最有用的。基于 cookie 的会话持久性可以使 WebLogic Server 安装的管理更加容易,因为不需要群集 Failover 逻辑。
相关推荐
Weblogic_10.3集群配置及session共享,
Weblogic 10.3 集群配置与Session持久化是企业级应用部署的关键环节,它涉及到多个方面的知识,包括Weblogic的基础概念、集群架构、安装配置以及Session的管理和持久化。 1. **Weblogic集群名词解释** - **Domain*...
3.1. 集群定义 一个集群就是一组协同工作的WebLogic服务器实例。 集群提供:高可用性、负载均衡、扩展性。 集群图示:图2、图3都是集群在应用环境中的示例。
本教程将详细讲解如何在Windows环境下配置WebLogic Server 11g的集群以及Session复制。 ### 1. 预备知识 在开始配置之前,确保你对以下概念有基本理解: - Java Enterprise Edition (Java EE):标准的服务器端开发...
配置WebLogic Server 11g集群、Session复制、定时任务(Windows&Linux)
Weblogic_10.3集群配置及session共享.pdfWeblogic_10.3集群配置及session共享.pdfWeblogic_10.3集群配置及session共享.pdfWeblogic_10.3集群配置及session共享.pdfWeblogic_10.3集群配置及session共享.pdfWeblogic_...
本篇将详细讲解如何在Windows环境下配置WebLogic Server 11g的集群以及实现Session复制。 ### 1. 预备知识 在开始配置之前,需要了解以下基本概念: - **Java EE (Enterprise Edition)**:一种用于开发分布式、...
配置WebLogic Server集群旨在提供高可用性、负载均衡和故障转移能力,确保服务的连续性和性能。以下是对配置WebLogic Server集群的详细解析: 1. **集群概念**:WebLogic Server集群是由多个独立的服务器实例组成,...
WebLogic 11g 集群 负载均衡 Session复制 Windows
在配置WebLogic集群session复制时,有以下关键步骤: - **配置复制组**:在集群中,需要定义一个或多个复制组,每个组内的实例会互相复制session数据。这可以在WebLogic管理控制台中完成,或者通过WLST(WebLogic...
"源码"可能暗示博主深入研究了WebLogic Server的内部实现,探讨了Session管理的底层代码逻辑,包括Session的序列化、反序列化过程,以及WebLogic如何在集群环境中同步Session数据。 "工具"则可能指WebLogic提供的...
测试weblogic 集群环境(session replication)
下面将详细阐述配置WebLogic Server集群的关键点,以及如何实现负载均衡。 **一、WebLogic Server集群基础** 1. **集群概念**:WebLogic Server集群是由多个相互协作的服务器实例组成,它们共享相同的域配置,提供...
本文主要探讨的是在Windows环境下如何配置WebLogic Server 11g的集群以及实现Session复制,这对于构建高可用性和负载均衡的Web应用程序至关重要。 首先,集群是将多个独立的WebLogic Server实例组织在一起,它们看...
本文将深入探讨在AIX平台上进行WebLogic集群的安装、配置以及优化的关键步骤。 一、安装准备 在开始WebLogic集群的安装前,首先确保AIX系统已更新到最新补丁,满足WebLogic的系统需求。同时,需要下载适合AIX的...
本文将详细介绍如何在Windows环境下配置WebLogic Server 11g的集群以及实现Session复制。 1. **预备知识** 在开始配置之前,需要了解基本的WebLogic Server概念,包括节点管理器、域、管理服务器和受管服务器。...
本文将详细介绍如何在WebLogic Server 8.1上配置集群,并通过Proxy Server实现对集群的访问。 **一、WebLogic集群的基础概念** WebLogic集群是多个独立的WebLogic Server实例的集合,这些实例共享相同的域配置,...
在2台PC机上做实验,用Apache做代理Server,实现会话接管(Session复制),附带例子(一个是简单的jsp和Session接管的,一个是连接数据库的,这个主要是对集群做压力测试时用的例子)。 我花了很长时间写的配置过程,所以加了...