配置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
相关推荐
2. **WebLogic配置优化**:例如,调整线程池大小、会话超时、日志级别等。 3. **监控与管理**:启用WebLogic Server的监控功能,定期检查系统性能,以便及时发现和解决问题。 在安装和配置过程中,确保遵循最佳实践...
在安装 WebLogic 12c 之前,需要新建一个会话连接到 Linux 桌面。这可以使用 konsole 命令实现: ``` konsole ``` 切换用户 在安装 WebLogic 12c 之前,需要切换到 weblogic 用户。可以使用 su 命令实现: ``` su -...
- 增加vnc服务终端则可能涉及到设置多个会话,以便同时管理多个WebLogic实例。 3. **服务器相关参数配置** - 文件句柄数配置:服务器处理并发请求的能力与文件句柄数有关,配置合理的值可以提高服务器的并发处理...
### Linux系统下WebLogic 12c安装及配置详解 #### 一、环境准备与用户组设置 在Linux环境下安装WebLogic服务器之前,首先需要确保系统环境满足安装要求,并为WebLogic服务设置专门的用户组及用户账号。具体步骤...
WebLogic 设置 Session 超时时间 WebLogic 是一个功能强大且流行的 Java 企业级应用服务器,支持多种方式来设置 Session 的超时时间。在本文中,我们将介绍如何在 WebLogic 中设置 Session 超时时间。 Method 1: ...
接着点击“Monitoring”->“General”->“monitorallactivequeue”,再点击“weblogic.kernel.Default”来查看当前正在会话的线程数量。 #### JDBC连接池监控 **WebLogic 10 版本:** - 在Server详情页面中,点击...
3. Session管理:配置会话超时、会话跟踪(cookie或URL重写),以及会话复制在集群环境中的行为。 4. WebSocket支持:配置WebSocket端点,实现双向通信。 五、高级特性 1. EJB(Enterprise JavaBeans):配置EJB...
- **会话复制**:保持用户会话在集群中的连续性,即使服务器实例发生变化,用户也不会感知。 - **数据源和JMS队列的共享**:集群内的所有服务器可以访问相同的数据库连接和消息队列资源。 - **安全管理**:统一的...
- **关键功能**:如动态负载分配、会话复制、故障检测和恢复等。 - **集群架构**:通常包括主控服务器(Admin Server)和受管服务器(Managed Server),以及可能的节点管理器(Node Manager)用于远程控制受管...
Weblogic 12c(12.1.x版本)引入了许多新特性,包括性能优化、云环境支持以及更高效的集群配置。本手册将详细阐述如何配置Weblogic 12c的集群,以实现高可用性、负载均衡和故障转移。 一、集群基础知识 1. 集群概念...
然而,由于WebLogic 8.1版本过于老旧,不再接受官方安全更新和技术支持,现代企业通常会选用更高级的版本,如WebLogic 12c,以获取更好的性能、安全性以及对最新Java EE标准的支持。对于学习和研究目的,WebLogic ...
特别是在使用如 WebLogic 或 WebSphere 这类中间件时,通过连接池的方式虽然可以有效提升数据源的连接数,但仍然可能会遇到连接数达到一定阈值后无法继续增加的情况。 #### 二、问题分析 根据提供的信息,该问题...
Oracle Enterprise Manager Cloud Control 12c:全面、集成、业务驱动的云管理 (PDF) Oracle Cloud Management Pack for Middleware (PDF) WebLogic Oracle Weblogic 应用网格 (PDF) WebLogic Server 中的自动服务...