`

was 缓存备忘

 
阅读更多
都是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包

    配置WAS缓存后,可在应用发布或者更新消息时人为的进行缓存读取与清除

    IBM WebSphere(WAS)实现分布式缓存

    利用IBM WAS中间件特性,实现分布式缓存和服务器间的数据共享。 利用IBM WAS的 DistributedMap 数据对象。 虽然“中间件依赖”是不被提倡的,但是它简单高效啊。 简单的操作就能带给我们飞一般的性能体验,不需要...

    非常好用的缓存清理

    什么缓存都可以清理掉,

    WAS6.1红皮书导读

    NULL 博文链接:https://ibmtech.iteye.com/blog/648988

    WAS9或WAS8配置HTTPS证书详细教程

    网上找这个WebSphere(was)中间件或者应用服务器的相关资料还是挺少的。这里是一份关于was如何配置https证书,实现https访问的教程。

    2.1-WAS基本命令操作

    在WAS8.0安装成功后,我们就可以使用启动服务器命令startServer命令来启动server,这个命令在WAS_home \profiles\AppSrv01\bin目录中,其中AppSrv01是我们建立的独立服务器概要表的名称。由于我的WAS安装在C:\IBM\...

    IBM_WAS简介.IBM_WAS简介.IBM_WAS简介.

    IBM_WAS简介.IBM_WAS简介.IBM_WAS简介.IBM_WAS简介.IBM_WAS简介.IBM_WAS简介.IBM_WAS简介.IBM_WAS简介.IBM_WAS简介.

    WAS补丁说明,描述了was打补丁的配置过程

    WAS补丁说明,描述了was打补丁的配置过程

    was7升级步骤

    最全的was补丁步骤,一步一个图!! 例子 was 7.0 操作系统 xp sp2

    WAS基本使用手册

    WAS基本使用手册,WebSphere Application Server(简称WAS)部署使用... 网络上传播范围最广的 WAS基本使用手册

    WAS生成工具.rar

    可以生成梦幻、大话的WAs文件可以替换Tga文件。

    WAS集群配置文档WAS集群配置文档

    WAS集群配置文档WAS集群配置文档WAS集群配置文档WAS集群配置文档WAS集群配置文档WAS集群配置文档WAS集群配置文档WAS集群配置文档

    WAS服务器技术指南

    WAS服务器技术WAS服务器技术WAS服务器技术WAS服务器技术WAS服务器技术WAS服务器技术WAS服务器技术WAS服务器技术WAS服务器技术

    was集群session共享设置

    在was集群中,通常需要设置session共享,按照文档步骤可以完成session共享设置,解决你应用中的问题

    WAS8.5基于linux安装

    was8.5基于linux环境下安装,通俗易懂,简单操作,适合新手入门。

    WAS9集群部署,IHS转发请求

    WAS最新版本was9集群部署,使用IHS转发请求,文档详细有截图,有命令,基于Linux + WAS8.5安装、部署过程 _WIN7 64位系统安装部署文档 。+ WAS9 集群 & IBM HTTP Server 9 部署文档

    IBM_WAS.rar

    介绍WAS的拓朴,包括单节点、网络部署单元拓朴 介绍WAS的术语等 2、ND安装 安装概览和增强 WAS产品包 WAS运行时安装 非ROOT安装 卸载 问题诊断 摘要和相关引用 3、IHS安装 IHS安装 管理概览 使用管理...

    was jms配置详细说明

    was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置was jms配置...

    易语言梦幻WAS提取源码

    资源介绍:。源码使用置入汇编代码的方法实现提取梦幻WAS资源。易语言梦幻WAS提取源码对于学习位图的结构和位操作有很大帮助。资源作者:。@易语言资源网。资源下载:。

    WAS 技术概况培训

    WAS产品概念 WAS架构介绍 WAS演变 WAS安装介绍 WAS管理 WAS常用命令介绍 WAS参数配置 WAS企业应用程序部署 Web介绍

Global site tag (gtag.js) - Google Analytics