问题描述
集成项目HT实施过程中碰到这样的问题,本次集成是把两个不同的应用集成到同一个页面框架下,部署方式为:
同一个Server ServerName = Server01,同一个Weblogic,分别建立两个Domain,Domain01(port-7001)和Domain02(port-7002),将应用App1部署在Domain01,将应用App2部署在Domain02,同时启动这两个Domain,如果完全是默认配置,单独访问两个应用是没有问题的,但是在同一个客户端如果访问App1之后再访问APP2会发现App1的Session丢失。
问题分析
客户端在访问App1时,Domain01会在该客户端保留一个名为 JSessionID的Cookie,记录了Domain01的信息,JSessionID为Weblogic cookie-name的默认值,当同一个客户端访问App2时,该客户端Cookie中JSessionID的值被Domain02刷新,此时如果在之前已经打开的IE中继续访问App1会发现Session丢失(JSessionID已经被Domain02刷新!)。
解决方案
第一种方案
在App1或者App2的weblogic.xml文件添加如下属性
<session-descriptor></session-descriptor>
session-descriptor
cookie-name <cookie-name></cookie-name>AnotherSESSIONID cookie-name
session-descriptor
将 <cookie-name></cookie-name>的值更改为不同于默认值就可以
如果不添加这个,那么客户端的COOKIE中保存的SESSION ID的对象名字是JSESSIONID,来自同一个SERVER上面的应用可能会造成这个SESSION ID的丢失,因为只要是WEBLOGIC产生的SESSION ID都是保存在这个名字的COOKIE中,这段配置就是把应用中的这个名字换成我们私有的,避免和其它域中的应用产生的JSESSIONID冲突。
第二种方案
访问App1时用IP来访问,访问App2时用域名来访问。
特别注意
如果应用程序部署为Cluster的模式,将无法设定<cookie-name></cookie-name>,否则部署时发生错误。
分享到:
相关推荐
在将应用部署到Weblogic Server 10.3时,出现了一个错误,抛出ClassCastException异常,具体错误信息为: `java.lang.ClassCastException: com.ctc.wstx.stax.WstxInputFactory` 问题分析 该错误的根本原因是Axis...
10. **完成安装**:等待安装完成,记录下WebLogic的 Middleware Home 和 WebLogic Home 路径,这两个路径在后续配置中会用到。 二、使用WLST创建域 1. **启动WLST**:在WebLogic Home目录下,执行`./wlst.sh`启动...
根据给定部分内容,可以看到已经创建了一个名为 `weblogic` 的脚本文件,其中定义了环境变量 `WLS_DOMAIN` 和 `WLS_HOME`,这些变量分别指定了 WebLogic Domain 的名称和 WebLogic Server 的安装路径。 #### 六、...
在将一个已经在Tomcat上正常运行的应用迁移到WebLogic时,可能会遇到各种问题,其中最常见的是配置问题和JAR包冲突。 标题"weblogic部署项目jar冲突解决"指出的核心问题是JAR包冲突。这是因为不同的应用服务器可能...
每个Domain都包含一个名为Administrator Server的WebLogic Server实例,它负责管理该域内所有的资源和服务器实例。Domain是一个逻辑单元,包含了服务器、应用程序、数据源等所有相关组件。 2. **Server**:是...
在UNIX系统中,WebLogic Server的安装目录通常包含一个名为`config.sh`的脚本,这是我们开始创建新domain的入口。进入该脚本所在的目录,执行`./config.sh`命令,系统将引导你完成一系列配置步骤。 2. **选择配置...
BEA WebLogic Server 是一款强大的Java EE (J2EE) 应用服务器,它为企业提供了一个可靠的平台来开发、部署和管理分布式应用程序。这篇文档主要针对使用WebLogic Server 6.1版本的开发者,详细介绍了如何在该平台上...
域(Domain)是 WebLogic Server 中的一个核心概念,它是 WebLogic Server 应用服务器管理的基本单位。一个域通常代表了一个逻辑上的企业应用环境,包括一系列相关的应用程序、服务配置以及运行时组件。每个域都包含...
在Linux环境下创建一个新的WebLogic Domain是一项关键任务,用于部署和管理Java EE应用程序。WebLogic Server是Oracle公司提供的一个中间件平台,它支持多种服务和组件的集成,包括应用服务器、数据库连接池、集群等...
本文将详细介绍如何在Linux系统中通过命令行方式创建一个新的WebLogic Domain,并对关键步骤进行详细解释。 #### 二、准备工作 确保已经安装了WebLogic Server。假设WebLogic安装目录为`/home/weblogic/Oracle/...
1. **WebLogic Server安装与配置**: - 安装过程:包括下载、解压、配置环境变量和执行安装脚本。 - 创建域:定义WebLogic Server实例的管理和运行时环境,包括服务器、集群、安全配置等。 - 配置网络监听器:...
WebLogic Server是Oracle公司的一款企业级Java应用服务器,它提供了一个强大的平台来部署、管理和运行Java EE(Java Enterprise Edition)应用程序。 一、WebLogic Server简介 WebLogic Server是基于Java的中间件,...
**Domain 是 WebLogic Server 中的一种逻辑容器,用于组织和管理应用程序。创建 Domain 的步骤如下:** 1. **启动 Configuration Wizard:** - 在安装完成后,通过开始菜单启动 Configuration Wizard。 2. **选择...
WebLogic Server Tools for Eclipse 3.5 是一个强大的开发工具集,专为在Eclipse集成开发环境中(IDE)高效管理、部署和调试Oracle WebLogic Server应用程序而设计。这个版本为开发人员提供了无缝的工作流程,使得在...
- **域目录**:每个WebLogic Server实例都属于一个域,域目录存储了服务器实例、集群、应用程序和服务的配置信息。 **三、启动WebLogic Server** WebLogic Server的启动是通过运行`weblogic.Server`类来完成的。在...
WebLogic Server 监控是确保企业级应用稳定运行的关键环节,它涉及到对WebLogic Server的多个层面进行管理和观察。WebLogic Server是由BEA Systems(现为Oracle公司的一部分)开发的一款强大的Java EE应用服务器,...