码迷,mamicode.com
首页 > Web开发 > 详细

修改Tomcat默认web程序路径遇到的问题

时间:2015-09-15 20:21:04      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:memory   likely   create   failed   程序   

  1. 线上前端是nginx反向到后边的两个tomcat的架构,在搭建tomcat的时候,由于自定义了tomcat的默认web数据存储路径,导致后来更新代码的时候出现了问题。

今天上线之后,由于程序有点儿问题,更改了一下,还没等重启tomcat服务,尼玛网站就打不开了,网站首页显示一个502的页面,手机立马收到了报警短信。

1).首先检查日志,查看这段儿时间的tomcat日志,报错如下:

Sep 15, 2015 12:31:06 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak.
Sep 15, 2015 12:31:06 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@4395ca0e]) and a value of type [com.ibatis.sqlmap.engine.mapping.result.ResultObjectFactoryUtil.FactorySettings] (value [com.ibatis.sqlmap.engine.mapping.result.ResultObjectFactoryUtil$FactorySettings@566edb2a]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Sep 15, 2015 12:31:06 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks

一直都是报这几行错误,知道代码更新正确之后,经过我的各种baidu、google,终于知道了问题的原因。

问题出现的原因:

  自定义tomcat默认web路径的时候,开启了自动部署功能,自动加载了更新的class程序文件导致的。

解决办法:

  

vim打开server.xml这个文件,找到这一行

 <Context path="" debug="0" docBase="/data/web" reloadable="false"/>

这里边我修改默认的web程序存储路径webapps为/data/web,

reloadable:是否自动加载新增或改变的class文件. 

这个我之前写的是true,需要修改成false,然后再重启tomcat即可。

本文出自 “岁月在流逝,光辉依然在” 博客,转载请与作者联系!

修改Tomcat默认web程序路径遇到的问题

标签:memory   likely   create   failed   程序   

原文地址:http://taokey.blog.51cto.com/4633273/1694996

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!