都是was缓存惹的祸
http://forum.pusuo.net/posts/list/409.page
引用
在项目中经常遇见这样的问题:修改应用的配置文件web.xml后,无论重启应用还是重启WebSphere服务器,都不能重新加载web.xml,导致修改的内容无效。
这个问题困扰了我好久,即使删除了${was安装目录}/IBM/WebSphere/AppServer/profiles/AppSrv01/下的temp和wstemp两个缓存文件夹下的临时文件,重启后还是无效。几经折腾,后来终于找到了问题所在——还是由于was的缓存机制导致的。
找到${was安装目录}/AppServer/profiles/AppSrv01/config/cells/xxxNode01Cell/applications/${应用名}.ear/deployments/目录下,有一个与应用相同名称的缓存文件夹,删除或修改该文件夹的web.xml,重启was即可。
web.xml文件在websphere中会有两个地方存储
一个websphere的问题,首先声明一下我对websphere的目录结构并不是很了解,如果了解它的目录结构也就不会犯下这样的错误:
我们做应用项目需要发布到websphere上,项目经理让我为应用整体作一个限制,要求是:当系统跑批时间不允许用户登录系统;于是我想了良久发现用过滤器来做最合适不过了。开始准备了,写好过滤器进行配置后发现我的过滤器怎么样不生效,这样我就又调整了一下过滤器的位置,发现过滤器生效和了,可以由于应用本身使用了struts2,这样我的过滤器添加在struts2的过滤器之前就会出现问题:如果我的过滤器生效就不会再经过struts2的过滤器,在返回到页面的时候就会报为经过struts2过滤器的错误。之后一段时间我没有什么办法了,再经过一段时间的思考之后,我决定修改struts2的过滤器,起始也不知道从什么地方下手,于是开始看struts2的源代码,发现可以对其分发器Dispatch进行修改:就是在分发器分发之前判断如果时间是在跑批时间就让它跳转到固定页面(登录页面),经过修改终于成功了。我的调试服务器是tomcat5.5没有什么问题,昨天我们发布到websphere上后发现也是能够正常运行的。晚上我欣喜地回到了住处,突然有个同事打电话给我说他修改了web.xml中的相关时间的配置信息重启服务器后配置信息并没有生效。
今天早晨我开始寻找问题,发现不管怎么修改它确实不会生效,经过和同事讨论:想法是websphere应该有缓存目录,找找看还有没有其他地方对web.xml有存储。于是使用find命令找web.xml文件,突然屏幕上出现两个前缀和我们的应用名称相同的web.xml文件,一个是我们预先知道目录(../AppServer/profiles/AppSrv01/installedApps/loopbackNode01Cell/),另一个是(config/cells/loopbackNode01Cell/application/)目录,为了描述方便我把前面的目录名称叫目录一,将后面的目录名称叫目录二。经过反复测试发现只有修改了目录二下面的web.xml文件并重启服务器后应用才会生效,目录一中的配置文件并不起作用,至此问题就解决了。
WAS 中可以用很多种手段实现缓存。其中最常见的一种,就是在应用中使用开发的手段缓存一些中间结果。但这种缓存是一把双刃剑。用好了可以很好地提高性能,如果掌握不好,使用过度了,则会对底层 JVM 的 Heap 造成很大的威胁。一般 JVM Heap 出现OutOfMemery(内存泄漏)的问题,都是应用中直接或者间接的缓存技术滥用的后果。所以缓存技术拿捏得当非常重要,也比较不容易。
下面主要谈谈 WAS 产品本身提供的缓存功能。
WAS 提供动态缓存机制,可以对 Web 命令、 Servlet 输出和 JavaServer Pages(JSP)文件进行高速缓存,从而提高应用程序的性能。动态高速缓存服务在应用服务器 JVM 中工作,拦截对可高速缓存对象的调用。例如,它通过 servlet 的 service 方法或命令执行方法拦截调用,以及将对象的输出存储到高速缓存,或者对来自于动态高速缓存的对象内容进行处理。
在 WAS 中可以通过配置实现常用的高速缓存对象、功能和模块有:
Servlet 高速缓存
Portlet 片段高速缓存
Edge Side Include 高速缓存
Web 命令高速缓存
Web Service 高速缓存
Web Service 客户机高速缓存
关于WAS的缓存功能,详细信息请参见:
http://publib.boulder.ibm.com/in ... /welc6tech_dyn.html
对于WAS中的缓存机制,和应用开发中的缓存类似,也要掌握好缓存的“度”,避免滥用,即题目中问的“如何合理的使用”?原则有如下几点:
1. 不是缓存用得越多越好。只要是 WAS 中提供了缓存机制的环节,统统都用上。这是错误的。
对于这一原则,有一个非常简单的方法可以确定是否采用缓存,采用哪些缓存技术:如果实现缓存本身相对于您的拓扑结构或者您所掌握的技术来说,显得非常的复杂,那么完全可以不用。举例来说,虽然 Edge Component 中提供了很好的缓存技术,但您的生产环境中,原本就没有考虑 Edge Component,现在为了缓存而缓存,非要把 Edge Component 加进去,使得拓扑偏离了原先的设计,变得更复杂化,就很没有必要了。
2. 确认您想缓存的对象是否真的需要缓存。 这一点事先比较难以判断。因为生产环境真实的使用情况是千变万化的。最佳的方法就是在真实环境中对缓存进行监控,查看被缓存对象的命中率。如果某些缓存环节利用率极低,或者某个对象命中缓存的概率非常小,则完全可以取消这样的缓存。对于利用率高的缓存,可以在内存使用比较平稳的前提下适当增大力度。
websphere6 配置文件缓存清除
http://blog.csdn.net/tiwen818/article/details/7019171
分享到:
相关推荐
标题中的“websphere缓存java调用以及jar包”指的是在IBM WebSphere Application Server (WAS) 中使用Java编程方式来管理和操作缓存系统。WebSphere应用服务器提供了一种高效的方式来存储和检索频繁访问的数据,以...
利用IBM WAS中间件特性,实现分布式缓存和服务器间的数据共享。 利用IBM WAS的 DistributedMap 数据对象。 虽然“中间件依赖”是不被提倡的,但是它简单高效啊。 简单的操作就能带给我们飞一般的性能体验,不需要...
IBM WebSphere Application Server(WAS)V6.1是一个为企业级Java应用提供运行环境的应用服务器。WAS V6.1的核心知识点包括产品概述、系统管理技术概览、Java管理扩展(JMX)、分布式管理和配置数据仓库。下面详细...
什么缓存都可以清理掉,
在IT行业中,Web Application Server(WAS)是用于托管和运行Web应用程序的软件平台,它为开发者提供了服务器端环境来部署和管理业务逻辑。在给定的“WAS生成工具.rar”压缩包中,我们主要关注的是一个工具,它能够...
在IT行业中,WebSphere Application Server(简称WAS)是由IBM开发的一款企业级应用服务器,用于部署和管理Java EE(Java Enterprise Edition)应用程序。在提供的标题和描述中,我们聚焦于一个特定的操作,即如何...
### WAS集群、IHS、WAS操作概述 #### 一、安装 ##### 1.1 ND网络版和单服务器版特点 - **ND网络版**:适用于分布式环境,支持跨多台服务器部署,具备高可用性和负载均衡能力,能够更好地支持大规模应用。此版本...
"WAS基本使用手册" WebSphere Application Server(简称WAS)是一款功能强大且灵活的应用服务器,广泛应用于大型企业级应用程序的开发和部署中。WAS提供了强大的管理功能、灵活的架构、丰富的API接口和高效的性能,...
WAS 8.5 静默安装及升级补丁完整步骤 WAS 8.5 静默安装是指在不需要用户交互的情况下安装 WAS 8.5。这个过程可以自动完成安装和配置WAS 8.5,减少了人工操作的错误 possibilities。下面是 WAS 8.5 静默安装的详细...
【WAS补丁说明】 WebSphere Application Server (WAS) 是 IBM 提供的一款企业级的Java应用程序服务器,用于部署和管理各种Web应用和服务。在WAS的日常运维中,为了保持系统的安全性和稳定性,定期打补丁是非常重要...
此外,WAS中间件服务器还提供了许多其他功能,例如负载均衡、数据缓存、会话管理、安全性和可靠性等。 WAS中间件服务器的主要特点包括: 1. 高可靠性:WAS中间件服务器具有高度的可靠性和稳定性,能够保证应用程序...
- **性能优化**:IHS的静态内容缓存能力可以减少对WAS的请求,提高整体性能。 2. **基础概念**: - **Reverse Proxy**:IHS作为反向代理服务器,接收来自客户端的HTTP请求,并将这些请求转发给后端的WAS。 - **...
WAS 8.5.5 的安装介质包括三个部分:WASND_v8.5.5_1of3.zip、WASND_v8.5.5_2of3.zip 和 WASND_v8.5.5_3of3.zip,这三个文件可以在 IBM 官方网站上下载。另外,还需要准备补丁安装介质,包括 WAS_V8.5.5_SUPPL_1_OF_3...
IBM WebSphere Application Server Network Deployment(WAS ND)是IBM公司推出的一款企业级应用服务器软件,它为Java EE应用程序提供了全面的支持,包括事务处理、安全性、集群等特性。WAS ND 9.0是该系列软件的一...
### 用友NC65+was安装配置指南 #### NC6+WAS安装及部署概述 本文档旨在提供详细的用友NC6与WebSphere Application Server (WAS) 的安装与配置指南,适合技术人员参考使用。本指南包括单机安装部署、垂直集群安装...
WAS 6.1提供了多种工具和策略来优化性能,包括JVM(Java Virtual Machine)调优、线程池设置、缓存管理等。监控功能可以帮助你识别性能瓶颈,以便及时调整配置。 八、集成与互操作性 作为IBM的中间件产品,WAS 6.1...
"梦幻+大话 的was文件合并工具"是一个专为这类需求设计的实用工具,旨在简化和优化工作流程,提高效率。这里我们将深入探讨这个工具的功能、应用场景以及如何使用。 首先,了解"WAS"文件。在游戏开发中,WAS通常是...
《易语言梦幻WAS提取源码解析》 在IT领域,源码是程序的灵魂,它揭示了软件运行的内在逻辑。本篇文章将深入探讨“易语言梦幻WAS提取源码”这一主题,这对于理解游戏资源的处理、位图结构以及位操作等知识具有重要...
WAS V8.5 for Linux 安装以及性能调优概要 WAS V8.5 for Linux 安装是指在 Linux 操作系统上安装 WebSphere Application Server V8.5 的过程。性能调优是指对 WAS 服务器的性能进行优化,以提高服务器的运行效率和...
### WAS8.5静默安装及升级补丁详解 #### 一、背景介绍 随着企业对WebSphere Application Server (WAS)的需求日益增加,高效、批量的安装与更新成为了一个重要议题。静默安装(Silent Installation)因其便捷性和...