was服务器清理web.xml缓存无效及解决问题的经历

       WebServer Application Server,简称was,是一款很强大的服务器中间件,常常用于大型项目的开发的负载均衡上。好了,废话少说,进入主题。

   用过was的人,肯定都知道,was的缓存是挺严重的。最近我被was的缓存弄得很头疼,根据项目的需求,对web.xml文件进行代码的添加,然后上传到系统上,重启was中间件之后报了找不到我所添加的标签额错误,重新启动很多次,都还是一样的结果,百思不得其解。web.xml文件确确实实被修改了,但是为什么还是报找不到添加标签的错误呢?这时候问题就毕竟明显了,很有可能是was缓存机制的问题。后来我就到was的安装目录下去寻找web.xml的缓存文件。经过百度搜索之后,was的缓存路径是WebSphere/AppServer/profiles,但是问题又来了,在profiles目录下有千千万万个web.xml,实在是不好看出我所要修改的web.xml是在哪个目录下。这时候我用了一个工具,代码搜索的工具,功能还是蛮强大的,StringFinder,通过搜索原本web.xml中存在的某个字段,可以定位出所要修改的web.xml文件的目录,最后让我成功的定位了,是在

 /AppServer/profiles/AppSrv01/config/cells/gzcrmma01Node01Cell/applications/XXXX.ear/deployments/XXXX/ncWeb.war/WEB-INF/web.xml ,终于找到了这个文件,最后打开它,然后把我后来添加的代码,写到缓存中的web.xml文件内。再重启was中间件,大功告成,终于完工了,这回真的是被was的缓存给坑惨了。之前一直都是以为自己的代码写得有问题,但是原来是was的缓存问题。
  我是通过修改was内部目录文件的内容来解决这个问题的,我觉得这样不是很好。但是由于项目上时间的仓促就暂时没有深入的去研究了。如果大家有更好的方法,欢迎留贴,大家一起学习学习!

posted on 2016-07-26 22:44  主人家的喵喵  阅读(4437)  评论(0编辑  收藏  举报

导航