WAS缓存问题导致web.xml文件修改后不生效
WAS缓存问题导致web.xml文件修改后不生效
项目一直增量上线,每次升级部署都是解压war包覆盖需要修改的文件,近期升级修改了web.xml,但功能未实现,代码比对后也没有发现问题,郁闷了好几天,想到了会不会是缓存问题,查了查资料还真是。
was容器存在缓存,多节点多应用的环境下存在应用节点缓存和管理节点缓存,单节点的环境下只存在应用缓存。
应用节点缓存目录:
/opt/IBM/WebSphere/AppServer/profiles/应用程序名/config/cells/localhostCell01/applications/应用程序名.ear/deployments/应用程序名/应用程序名.war/WEB-INF
管理节点缓存目录:
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01(管理节点)/config/cells/localhostCell01/applications/应用程序名.ear/deployments/应用程序名/应用程序名.war/WEB-INF
缓存里主要是配置文件,如下图:
ibm开头的文件是was环境下应用程序启动自动生成的,主要关注spring-mvc.xml、web_merged.xml和web.xml三个文件,web_merged.xml也是was生成的,但是里面引用了web.xml文件的内容。
所以,修改web.xml文件后需要同时修改缓存目录下的web.xml和web-merged.xml。
多节点多应用的环境下,只需要修改管理节点的缓存,修改后并重启应用节点,管理节点缓存中的配置文件会覆盖应用节点的配置文件(只修改管理节点缓存并重启应用节点,而不是重启was)。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)