mysql的超时后,其实不用修改mysql的配置。那样做其实会使mysql存在很大的安全问题。
mysql-jdbc有个很好的解决办法,如果出现连接超时,可以判断后自动重连
/**
* 判断连接是否有效
* @param conn
* @return boolean
*/
private boolean checkConnection(Connection conn) {
try {
if(conn instanceof com.mysql.jdbc.Connection) {
((Connection)conn).ping();//ping通mysql方法,如果超时会抛异常
}
Statement pingStatement = null;
try {
pingStatement = (Statement) conn.createStatement();
pingStatement.executeQuery("SELECT 1").close();//测试是否超时的另一种做法
} finally {
if (pingStatement != null) {
pingStatement.close();
}
}
return CONNECTION_IS_OKAY; //自定义值
} catch (SQLException e) {
// TODO Auto-generated catch block
return CONNECTION_IS_INVALID; //自定义值
}
}