Linux服务器解决 was 更新web.xml 无效原因

一共两个地方需要修改:

一:缓存目录

        /opt/IBM/WebSphere/AppServer/profiles/<节点名>/config/cells//applications//deployments///WEB-INF

       web.xml、web_merged.xml

二:应用目录:  四个文件内容必须保持一致

提示:修改完后重启was服务器即可生效

问题原因分析

近日碰到更新web.xml文件到WAS服务器(WebSphere Application Server 8.5.5.3)后,不生效的问题。
网上找了一圈,基本都是说WAS缓存引起的。

手动更新了缓存目录下(config\cells\\applications\\deployments\\\WEB-INF)的web.xml文件后,重启WAS,还是不生效。

几经折腾还是没有效果,突然回想起部署应用时,发现部署完后应用目录WEB-INF下会新增很多文件(包括ibm_开头的那几个文件),其中有个web_merged.xml文件。
Linux服务器解决 was 更新web.xml 无效原因_第1张图片

打开web_merged.xml一看,果然,里面包含了web.xml的内容,但是,是旧的内容。

解决方案

问题原因就这样找到了,下面就是解决方案

  • 方案一
    1. 更新web.xml的同时,把改动也更新到web_merged.xml
    2. 把更新完的两个文件,复制到配置缓存目录下(config\cells\\applications\\deployments\\\WEB-INF)。
    3. 最后,你需要重启一下WAS服务。
  • 方案二
    使用WAS的web控制台进行更新web.xml文件(登陆控制台,选择程序后点击“更新”,选择“替换或添加单个文件 ”,然后参考下图)。
    WAS会自动把更改同步到web_merged.xml以及缓存目录下。(相当于WAS帮你进行了方法一的操作)
    使用这个方法,你甚至都不需要重启WAS,也不需要重启应用。
    Linux服务器解决 was 更新web.xml 无效原因_第2张图片

参考:

  • Websphere application modify web.xml doesn't work
  • Ways to update enterprise application files

参考文章:https://www.cnblogs.com/danne823/archive/2016/02/26/was_cache.html

你可能感兴趣的:(Linux)