Weblogic多应用部署在一个域下导致session冲突问题解决办法
最近在Weblogic的一个域下面同时部署了多个应用,出现了session冲突的问题。其现象是这样的,访问A正常,但是从应用A跳转到应用B后,应用A的session立马就失效了。因为以前在tomcat上也遇到过类似的情况,当时立马就想到应该是session冲突的问题,每个应用在写保存session信息的cookie时都会写一个名为jsessionid的cookie。这样达到的效果就是先访问A应用时A应用写了一个名为jsessionid的cookie保存了其session的id,结果访问B应用时B应用通过jsessionid保存了其session的id,这样就覆盖了A应用的sessionid,下次再访问A应用时A应用的session就丢失了。
解决办法是在应用的WEB-INF目录下新建一个weblogic.xml文件,通过其session-descriptor的session-param的CookieName来指定保存session信息的cookie名称,保证各个应用之间的CookieName唯一即可。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 12.1//EN" "http://xmlns.oracle.com/weblogic/weblogic-web-app/1.5/weblogic-web-app.xsd"> <weblogic-web-app> <session-descriptor> <session-param> <param-name>CookieName</param-name> <param-value>App session id</param-value> </session-param> </session-descriptor> </weblogic-web-app>
相关推荐
6. **热部署问题**:在不中断服务的情况下更新应用可能导致问题,比如session丢失。了解WebLogic的热部署机制,使用适当的部署策略,可以避免这类问题。 7. **集群配置**:对于高可用性和负载均衡,可能需要配置...
《企业级IT运维宝典之WebLogic实战》是一本深入探讨WebLogic服务器管理与优化的专业指南,涵盖了18个关键章节,旨在帮助IT专业人士更好地理解和掌握这款广泛应用的企业级Java EE应用服务器。WebLogic Server,由...
WebLogic Server中,两个不同域的应用之间可能存在Session冲突,这通常由于Cookie的覆盖机制所引起。本文将详细解析这个问题的现象、原因以及提供解决方案。 **一、现象分析** 当用户在一个域(例如,域A的9000端口...
在IT行业中,WebLogic Server是Oracle公司提供的一个企业级Java EE应用服务器,它负责管理和运行基于Java技术的应用程序。WebLogic.xml文件是WebLogic Server中的一个核心配置文件,用于定义Web应用程序的部署特性。...
WebLogic Server是一款由Oracle公司开发的企业级Java应用服务器,它为构建、部署和管理企业级Java应用程序提供了全面的平台。本文将深入探讨WebLogic Server的配置和性能调优,以帮助管理员实现更高效、稳定的应用...
WebLogic Server是一款由Oracle公司提供的企业级Java应用服务器,它为构建、部署和管理企业级Java应用程序提供了全面的平台。随着WebLogic在各种业务场景中的广泛应用,性能优化成为了管理员和开发人员关注的重点。...
- **SingletonBean**在整个应用生命周期中只有一个实例,适用于需要共享状态的场景。 ##### 4.4 定时服务 - **定时服务**在EJB3.1中得到了增强,提供了更强大的调度能力。 ##### 4.5 拦截器 - **拦截器**在EJB...
然而,在尝试一个多小时后仍未成功,最终发现问题在于 Hibernate 映射文件中的某个列名与 Oracle 数据库的关键字冲突,导致表结构无法正确生成。解决这一问题的方法是修改列名以避免与 Oracle 关键字冲突。 **解决...
EJB组件需要部署在一个容器中运行,这个容器通常是应用服务器的一部分,例如JBoss、WebLogic或GlassFish等。容器负责提供安全性、事务管理、持久性以及并发控制等功能。 **1.3 什么是JNDI** JNDI(Java Naming and...
2. 部署XML:创建`META-INF/context.xml`,在`conf/Catalina/localhost`下创建相应的XML文件来定义部署。 五、Tomcat安全管理 - `users`和`roles`:在`conf/tomcat-users.xml`定义用户和角色。 - `realm`:在`...
在Java Web开发中,SSH(Struts2、Spring、Hibernate)是一个常见的框架组合,用于构建高效、灵活的企业级应用程序。本文将详细介绍如何在IntelliJ IDEA(IDEA)环境中进行SSH整合,并提供最新的jar包和XML配置示例...
Apache Tomcat 8.0.14 是一个广泛使用的开源软件,它作为Java Servlet和JavaServer Pages(JSP)的容器,是实现Java EE Web应用程序部署的关键组件。Tomcat是Apache软件基金会Jakarta项目的一部分,以其轻量级、高效...
- 对于Stateful Session Beans,容器管理多个客户端对同一bean实例的访问,防止数据冲突。 - 对于无状态bean,容器通常允许多个线程同时访问。 6. **远程接口**: - EJB通过远程接口暴露其服务,客户端通过JNDI...