测试服务器上直接修改properties文件导致OOM的问题

场景:测试服务器上,在未停止tomcat的情况下直接修改了配置文件(properties文件),稍后再有请求进来时(该请求会使用到properties文件中的属性),引发了OOM

tomcat7.0.50配置文件:
	conf/server.xml中:
		<Context docBase="advertise-war" path="/advertise-war" reloadable="true" />
		path:		访问该Web应用的URL入口
		reloadable:tomcat在运行时会监控 WEB-INF/classes 和 WEB-INF/lib目录下的class文件,如果监测到有class文件被更新的,tomcat会自动重新加载(先卸载,再部署)Web应用。

分析:
	1)在卸载的过程中,(大概是由于文件被修改后)程序可能出错,导致原来的web应用卸载失败,从而导致原来的web应用仍然存在于Tomcat的缓存之中。
	2)虽然卸载失败,但是tomcat仍然会部署修改后的web应用。
	3)从而导致:tomcat在重新部署web应用时,由于无法删除已有的缓存,故可能会出现内存溢出的异常。
	
建议:
	1)将reloadable属性设为false。
	2)使用分布式配置中心来解决这个问题。
		
		

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值