was缓存导致web.xml更改无效

  在项目中经常遇见这样的问题:修改应用的配置文件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文件并重启服务器后应用才会生效,目录一中的配置文件并不起作用,至此问题就解决了。

转载地址:http://www.educity.cn/wenda/144522.html

was缓存以致web.xml更改无效的更多相关文章

  1. Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)

    JavaWebSpringTomcatCache  最近用到在Tomcat服务器启动时自动加载数据到缓存,这就需要创建一个自定义的缓存监听器并实现ServletContextListener接口,并且 ...

  2. Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(例如顺序:1、初始化spring容器,2、初始化线程池,3、加载业务代码,将数据库中数据加载到内存中)

    最近公司要做功能迁移,原来的后台使用的Netty,现在要迁移到在uap上,也就是说所有后台的代码不能通过netty写的加载顺序加载了. 问题就来了,怎样让迁移到tomcat的代码按照原来的加载顺序进行 ...

  3. 【Tomcat】Tomcat容器 web.xml详解

      Tomcat的安装目录下的conf目录下的web.xml文件有许多配置,例如: <init-param> <param-name>debug</param-name& ...

  4. websphere web.xml

    解决WAS更新web.xml文件不生效的问题(web_merged.xml是罪魁祸首)   问题原因分析 近日碰到更新web.xml文件到WAS服务器(WebSphere Application Se ...

  5. 解决WAS更新web.xml文件不生效的问题(web_merged.xml是罪魁祸首)

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

  6. web.xml中的ServletContextListener

    要想了解ServletContextListener,先看看web.xml中的<listener>配置. 一)web.xml中的内容载入顺序: 首先能够肯定的是,载入顺序与它们在 web. ...

  7. Tomcat容器 web.xml具体解释

    <init-param> <param-name>debug</param-name> <param-value>0</param-value&g ...

  8. WAS更新web.xml配置文件不生效的问题

    问题及原因分析: 之前修复漏洞时,写了个过滤器配置在web.xml中,但是部署到服务器并重启后,重新扫描漏洞,还是没有解决对应问题.在确定了这种修复方案是切实可行之后分析,可能是配置的web.xml未 ...

  9. Spring web.xml详解

    web.xml文件是Java Web项目中的一个配置文件,主要用于配置欢迎页.Filter.Listener.Servlet等,但并不是必须的,一个Java Web项目没有web.xml文件也是照样能 ...

随机推荐

  1. JAVA源码之JDK(二)——Integer、Long、Double

    这篇文章继续java.lang包下的源码学习,笔者也是找了几个比较常用的来阅读.下面针对Integer.Long.Double这样的基本类型的封装类,记录一些比较经典.常用的方法的学习心得,如toSt ...

  2. shell之“>/dev/null 2>&1” 详解

    shell中可能经常能看到:>/dev/null  2>&1 命令的结果可以通过 %> 的形式来定义输出,其中 %> 代表文件描述符 我们将这个命令组合:"& ...

  3. ExtJs6编译之后上线报错无法查看到的解决方法

    最近Extjs编译后部署遇到了一个错误c is not a constructor,报错位置在app.js里,这根本没法找 解决方法:用命令sencha app build testing 编译之后, ...

  4. c#中的程序集

     程序集:一些相关类的包,比如三层中Model层都是一些数据库表的实体类.我们所用到的类都是位于各个程序集中,若需要调用某个类,就必须引用其所在的程序集. 访问级别:程序集中的类有四种访问级别,int ...

  5. Java - USC2字符串截取

    Java内部采用UTF-16(USC2)编码,比如:"我" 为 98 17,"a" 为 0 97," " 为 0 32,"1&qu ...

  6. 解决VS2010在新建实体数据模型出现“在 .NET Framework Data Provider for Microsoft SQL Server Compact 3.5 中发生错误。请与提供程序供应商联系以解决此问题。”的问题

    最近想试着学习ASP.NET MVC,在点击 添加--新建项--Visual C#下的数据中的ADO.NET 实体数据模型,到"选择您的数据连接"时,出现错误,"在 .N ...

  7. request.getRequestURL()和request.getRequestURI()的区别

    request.getRequestURL() 返回全路径 request.getRequestURI() 返回除去host(域名或者ip)部分的路径 request.getContextPath() ...

  8. Python基础学习总结(八)

    10.文件和异常 1.学习处理文件,让程序快速的分析大量数据,学习处理错误,避免程序在面对意外时崩溃.学习异常,异常是python创建的特殊对象,用于管理程序运行时出现的错误,提高程序的适用性,可用性 ...

  9. Apache Commons Email 使用网易企业邮箱发送邮件

    最近使用HtmlEmail 发送邮件,使用网易企业邮箱,发送邮件,死活发不出去!原以为是网易企业邮箱,不支持发送邮箱,后面经过研究发现,是apache htmlEmail 的协议导致,apache E ...

  10. PAT 1061. Dating

    题是别人出的,不按她的想法来也没办法,真心想k一顿 #include <cstdio> #include <cstdlib> using namespace std; cons ...