websphere下部署系统时,修改应用下的.xml文件发生后,不管重启应用还是节点服务,都无法生效。一般来说,标准的文件更新通过可以通过应用更新的办法进行替换,如通过“企业应用程序”->选择应用->“更新”的办法,将配置文件和ear里目录结果保持一致,然后直接上传重启服务即可完成更新。

WebSphere中jsp缓存清理的方法_jsp缓存清理

还有一种办法,在{was_home}\AppServer\profiles\AppSrv01\config\cells\dwCell01\applications\{应用}.ear\deployments下找到你所要改的配置文件,如web.xml,改动之后然后重启服务即可搞定。


附带一个技巧,JSP缓存清理办法可以通过删除{was_home}\AppServer\profiles\AppSrv01\temp\ 搞定。我碰到过很顽固的缓存,死活也清不掉,最后的办法有三种方式搞定:

1、升级was小版本到最新;

2、重新安装应用;

3、访问连接后带一个随机数;


或者还可以

把缓存中的.class文件清除后再刷新,如果还是没反应,再重启Websphere才能生效。还有一种办法,就是把这个jsp从项目中删除或重命名,再到浏览器里面查看那个页面,这时可能会报错,之后,再把对应的jsp添加上或名字改过来,再次到浏览器里面查看应用的时候,就发现这jsp的更新效果出来了。

解决方法:

找到如下文件

/home/wasuser/WebSphere/profiles/AppSrv02/config/cells/kmapp07Cell01/applications/KMPortal_war.ear/deployments/KMPortal_war/KMPortal.war/WEB-INF/ibm-web-ext.xmi


打开 /WEB-INF/ 下面的ibm-web-ext.xmi 文件,原来ibm-web-ext.xmi 文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappext="webappext.xmi" xmlns:webapplication="webapplication.xmi" xmi:id="WebAppExtension_1" reloadInterval="5" reloadingEnabled="false" defaultErrorPage="error.jsp" additionalClassPath="" fileServingEnabled="false" directoryBrowsingEnabled="false" serveServletsByClassnameEnabled="true" autoRequestEncoding="true" autoResponseEncoding="false">

<webApp href="WEB-INF/web.xml#WebApp_ID"/>

<jspAttributes xmi:id="JSPAttribute_1" name="reloadEnabled" value="true"/>

</webappext:WebAppExtension>

红色部分为加入的,设置reloadEnabled 属性为 true,设置好后必须重新启动Websphere才能生效。

其它可设置的属性类似还有:

<jspAttributes xmi:id="JSPAttribute_1" name="useThreadTagPool" value="true"/>

<jspAttributes xmi:id="JSPAttribute_2" name="disableJspRuntimeCompilation" value="true"/>

<jspAttributes xmi:id="JSPAttribute_3" name="useFullPackageNames" value="true"/>

具体属性可参考IBM网站:

http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/rweb_jspreloading.html