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. MSSqlServer 数据库降级及数据转移

    --MSSqlServer数据库降级及数据转移--MS SQL SERVER高版本数据库(Database_A)恢复数据到低版本数据库(Database_B)中--1.数据库结构对象(包含表.视图.函 ...

  2. centos下不重装php——给PHP添加新扩展库

    装完php.发现需要一些新扩展库比如常见的mysqli之类的.在不重装php安装新扩展,以一个不常用的库xsl为例. 环境:centos6.8,php5.3.29 ,osx10.11.6 我的php相 ...

  3. T_SQL 语句想已有数据表添加约束

    如果向存在数据的表里添加约束,有可能会出现数据不符合检查约束而造成添加约束失败. 如: USE DEmo--指向当前操作的数据库 GO ALTER TABLE Employee ADD CONSTRA ...

  4. java向上转型的问题

    import java.util.Arrays;import java.util.HashSet;import java.util.Set;class A{ private String s1 = & ...

  5. D3基础---比例尺

    转载请注明出处! 比例尺简述: 比例尺是一组把输入域映射到输出范围的函数. 一般来说数据集中的值不可能恰好与图表中的像素尺度一一对应.比例尺就是把这些数据值映射到可视化图形中使用的新值的便捷手段. D ...

  6. ssm框架文件上传

    有两种方法 导包和上传配置自己搞: 第一种: 上传单个文件: @RequestMapping("/addfile1") public String addfile(@Request ...

  7. log4j的简单使用

    引入jar包org.apache.log4j.Logger,项目src目录下建立一个log4j.properties配置文件 log4j.rootLogger=INFO,A1,R log4j.appe ...

  8. Python OOP面向对象

    一.什么是面向对象的程序设计 1.面向过程 程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式. 优点是 ...

  9. csharp: Request.Form,Request.QueryString,Request.Params,Request.Cookies

    /// <summary> /// Request.Form,Request.QueryString,Request.Params /// http://msdn.microsoft.co ...

  10. 主动驱动事件执行--createEvent

    1. createEvent(eventType)参数:eventType 共5种类型:    Events :包括所有的事件.           HTMLEvents:包括 'abort', 'b ...