WebSphere Application Server 更新web.xml的问题以解决有些应用在tomcat环境下可以跑,更新到was上失效的问题

       有时候我们需要在web.xml下注册的类或者初始化参数 在tomcat下更新是没有问题的,但是在WebSphereApplication Server下却没有效果,这是因为WebSphere Application Server 的应用程序跟部署配置是分离的installedApps下的应用中的web.xml完全是摆设,这点跟我们的tomcat完全不同。我在对项目添加CAS功能的过程中在此处吃了大亏。在profiles下找到你部署项目所在的服务器,比如AppSrv01 找到该目录下的config\cells\对应的节点\ applications\对应项目的.ear\deployments\对应war\对应war\WEB-INF下的web.xml,修改这个文件后会发现居然可以正常工作了。但是在某次重启之后,你会发现你的配置又失效了,打开你上面更新过的web.xml 你发现你的更新被回滚了,这说明config下的web.xml 被同步过了,重启后它会重新按照某个模版同步。我们需要找到这个模版,更新模版。找到部署管理器文件夹DeploymentManager  在对应的配置下也有web.xml文件 查看一下,是不是老文件?是的话对它作个测试,你会发现,每次重启项目应用同步的就是这个web.xml,更新这个文件就OK了。

更深层次的原因是因为在非集群环境下没有节点下web.xml同步的问题,在集群环境下有web.xml节点配置同步的问题。

 

解决方案:

1.        在集群环境下或者非集群环境下更新installedApps下的web.xml都没有用。

2.        非集群环境下 更新AppServer\config 等等目录下web.xml。

3.        集群环境下更新DeploymentManager\config等等目录下的web.xml。 
posted @ 2017-01-03 12:08  码农小胖哥  阅读(168)  评论(0编辑  收藏  举报