作为一个Javaweb新手,你是否遇到过这样的问题,在我们实际开发中,有些网页点几下就点不动了,完全不能跳转了,一直处于加载状态,不报错,也加载不出来,这是什么问题?
Tomcat假死
我们把以上的状态称之为假死状态,假死状态涉及到一些运维的问题,这里不再详细解释原因,直接给出大家解决方案。
一、修改配置文件
在我们的项目列表中,找到servers文件夹下的server.xml,大约在63行左右,修改它,增加acceptCount=“500”和maxThreads=“400”,你可以修改这两个值,但不要太大,且后者应大于前者。
<Connector URIEncoding="UTF-8" acceptCount="500" connectionTimeout="20000" maxThreads="400" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
二、及时关闭数据库连接
Tomcat假死,很很大一部分原因来自于我们的连接数太多,但是我们并没有用那么多连接,这是因为我们在关闭Tomcat的时候,那些连接不会自动关闭,会有一个存活时间,大概5分钟左右,所以,我们在使用结束后,一定要手动关闭连接,这里,我写了一个关闭连接的方法,这个方法要写在我们的数据库连接类下。(关于Javaweb的数据库连接,大家可以看我的上一篇文章,使用数据库连接池)
方法中没有用到的参数可以传null
//方法中没有用到的参数可以传null
public static void close(ResultSet rs,PreparedStatement ps,Connection con) {
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (ps!=null) {
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (con!=null) {
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
举例