配置weblogic.xml中的session-descriptor
<?xml version="1.0" encoding="UTF-8"?> <weblogic-web-app> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> <session-descriptor> <persistent-store-type>replicated</persistent-store-type> </session-descriptor> </weblogic-web-app>
Sets the persistent store method to one of the following options:
-
memory
—Disables persistent session storage. -
replicated
—Same asmemory
, but session data is replicated across the clustered servers. -
replicated_if_clustered
—If the Web application is deployed on a clustered server, the in-effectpersistent-store-type
will be replicated. Otherwise,memory
is the default. -
async-replicated
—Enables asynchronous session replication in an application or Web application. See "Asynchronous HTTP Session Replication" in Performance and Tuning for Oracle WebLogic Server. -
async-replicated-if-clustered
—Enables asynchronous session replication in an application or Web application when deployed to a cluster environment. If deployed to a single server environment, then the session persistence/replication defaults to in-memory. This allows testing on a single server without deployment errors. -
file
—Uses file-based persistence (See also session-descriptor). -
async-jdbc
—Enables asynchronous JDBC persistence for HTTP sessions in an application or Web application. See Configuring Session Persistence. -
jdbc
—Uses a database to store persistent sessions. (see also session-descriptor). -
cookie
—All session data is stored in a cookie in the user's browser.
以前版本的中文参考
persistent-store-type默认值:memory
将持久性存储方法设置为以下某个选项:
memory – 禁用持久性会话存储。
replicated – 与 memory 相同,但会话数据将在群集服务器之间复制。
replicated_if_clustered – 如果 Web 应用程序部署于群集服务器上,则会复制生效的 persistent-store-type。否则,memory 为默认值。
sync-replication-across-cluster – 复制将在群集内同步发生。
async-replication-across-cluster – 复制将在群集内异步发生。
file – 使用基于文件的持久性(另请参阅 persistent-store-dir)。
jdbc – 使用数据库存储持久性会话。(另请参阅 persistent-store-pool。)
cookie – 所有会话数据都存储于用户浏览器的 cookie 中。
session中的对象必须都是可序列化的.
Http 会话复制有什么类型?
有五种不同的会话持久性实现方式:
1. 内存(单个服务器,不复制)
当您使用基于内存的存储方式时,所有会话信息都存储在内存中,并且当您停止和重新启动 WebLogic Server 时,这些信息将会丢失。
2. 文件系统持久性
会话信息存储在指定的 PersistentStoreDir 中的一个文件中。
3. JDBC 持久性
会话信息存储在数据库表中。
4. 基于 cookie 的会话持久性
会话信息存储在 cookie 中。
5. 内存中复制(在群集内)
会话数据从一个服务器实例复制到内存中的另一个实例。
如果您检查 JsessionId,其形式如下:
JSESSIONID=1E9Xwn7nLYfOsc1obgRZIwW5s72an7HPPvSD7iaWHMXzpHga5cQj!-1587343083!-1587348922
JSESSIONID 是缺省的 cookie 名称,可以在 weblogic.xml 中将其更改为任何内容。
JSESSIONID 的格式为:
SessionId!PrimaryServer JVM Hash!SecondaryServer JVMHash
Every time data is changed (either set/get or removed) in the session you’ll see the logging message.
Weblogic集群原理
Weblogic 服务器集群将一组服务器集合在一起工作,来提供更灵活调配的、更稳定的应用平台。服务器集群对用户是透明的,对用户来说,服务器集群只是一个简单的 server 端,然而实际上,多台服务器一起协同工作来提供服务。通过部署 weblogic 服务器的集群功能,网站对于来自网络用户的请求具备了出色的可扩展性、更高请求处理容量和冗余能力。
对于一个集成的环境,客户端的会话状态必须被保存,以使得在出现故障时能够获得备份 session 状态。 Weblogic server 提供三种途径获得客户端会话状态: 数据库复制(通过 JDBC )、基于文件的复制和内存中的复制 。
使用基于 JDBC 或基于文件的持久机制分别将客户端的会话状态保存在数据库或者文件中。当一个客户端首次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器将会话状态完整地保存在离线存储器中。随后的客户端的请求将被持续地发送给同一台 server ,这样就保证了会话状态的更新在存储机制中的保存。如果这台服务器发生故障,那么该客户端可以连接到集群中的任何一台服务器。新的服务器通过读取储存在文件系统或者是数据库中的会话状态来恢复与客户端的会话。
内存中的复制机制同样也用于保存客户端会话数据,但是它使用内存而不是其他永久存储机制。在客户端初次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器指定另外一台集群中的服务器作为辅助服务器来存储会话数据的复本。随后的客户端的请求将被持续地发送给同一台 server ,从而确保了在任何给定时间集群中都存有该客户机会话数据的两份拷贝。
当与该客户端建立连接的服务器发生故障时,客户端可以连接到集群中另一台服务器。新的服务器将通过查找保存在 Weblogic 服务器 cookie 上的信息,对保存了客户端会话状态的复本的服务器进行定位,并且复制会话状态。通过这种容错处理的方式,客户端可以透明地故障切换到另一台服务器,无需使用持续性存储器便可长期保存会话数据。
而实际应用中更多情况下,是使用内存中的复制机制,Weblogic的cluster是将客户端的会话状态复制到集群中的某一台server,备份server的ip地址封装在cookie中(即jsessionid)。从而确保了在任何给定时间集群中都存有该客户机会话数据的两份拷贝。当这台服务器发生故障,Master节点会立即获取session的备份,并由此继续响应客户端请求,同时做新的复制。
参考:
http://edocs.weblogicfans.net/wls/docs92/webapp/sessions.html
相关推荐
weblogic12c windows linux 64 32 各版本
weblogic12c安装指导文档,weblogic12c建域的WLST脚本,以及所需要的配置文件。
Weblogic12c安装部署手册,使用范围入门级别.doc
weblogic12c补丁p33727616_122140_Generic.zip,2022年1月补丁
WebLogic 12c(12.2.1.2)升级方案:从weblogic 8.1升级到最新版本 12.2.1.3
Weblogic12c(12.1.3)安装和eclipse下配置weblogic并发布项目
windows系统上 Weblogic12c配置部署说明。
weblogic:weblogic12c 安装->部署项目->页面乱码->控制台乱码处理,详细信息请参见文档。
Linux 下整合 weblogic12c jsf1.2 Hibernate3 Weblogic12C,目前可以支持JSF1.2以及JSF2.0,Weblogic10只支持JSF1.2
weblogic12C安装部署,集群要有负载均衡;没有需要添加proxy代理节点,还要添加cluster。过程详尽,亲测部署成功
WebLogic12c安装部署文档,包括JDK安装、weblogic安装、服务器管理、创建计算机、创建集群、数据源管理、部署项目
Weblogic12c 集群配置,吐血实践,整理,分享出来给有缘人,但愿对你们有用。后边是凑字数的,请忽略!
weblogic 12c 的安装和部署以及部分参数设置与weblogic11g有很大的不同
本文档整理了weblogic 12c纯命令安装,包括建域纯命令安装和脚本安装,以及启动脚本创建,方便实用。
Centos7下纯命令方式安装Weblogic12c 以不弹窗的方式安装 说明: Weblogic12c安装包:fmw_12.2.1.4.0_wls.jar JDK:jdk1.7.0_15以上的版本 系统版本:Centos 7.6
Weblogic12c Linux远程界面安装.pdfWeblogic12c Linux远程界面安装.pdf
Oracle Fusion Middleware 12c WebLogic and Coherence Developer 12.2.1.3.0 在centos7 jdk1.7环境下亲测可用,下载文件中有链接,220M的官网统一安装版本。
Centos7 源码安装weblogic 12C.md 存放这里,让大家下载快捷一点
非常详细完整的weblogic12集群安装步骤,及安装补丁。还有简单的优化及如何添加计算机在控制台就可以启动weblogic。如果不能弹图形界面安装的朋友可以参考静默安装。...
weblogic12c部署webservice错误问题WSSERVLET11: 无法解析运行时描述符: java.lang.IllegalStateException: MASM0001: