У меня есть два сервера Tomcat.
первый - 192.168.123.181, версия tomcat-7.0.40
А второй - 192.168.123.80, версия tomcat-9.0.12
Я обнаружил, что при попытке перезапустить службу tomcat для 192.168.123.80 соединение mysql не будет автоматически закрываться / автоматически освобождаться, что всегда приводит к этой ошибке MySQL - "Too many connection".
Когда я ввожу «service tomcat stop» для 192.168.123.80, консоль отобразит следующее сообщение:
Использование CATALINA_BASE: / apps / tomcat
Использование CATALINA_HOME: / apps / tomcat
Использование CATALINA_TMPDIR: / apps / tomcat / temp
Использование JRE_HOME: / usr
Использование CLASSPATH: /apps/tomcat/bin/bootstrap.jar:/apps/tomcat/bin/tomcat-juli.jar
Убить не удалось: $ CATALINA_PID не установлен
Однако, когда я введу ту же команду в 192.168.123.181, появится следующее сообщение:
Использование CATALINA_BASE: / apps / tomcat
Использование CATALINA_HOME: / apps / tomcat
Использование CATALINA_TMPDIR: / apps / tomcat / temp
Использование JRE_HOME: / usr
Использование CLASSPATH: /apps/tomcat/bin/bootstrap.jar:/apps/tomcat/bin/tomcat-juli.jar
Использование CATALINA_PID: /var/run/tomcat.pid
Убийство кота с помощью PID: 18360
Может кто-нибудь научить меня, как настроить сервер так, чтобы он освободил соединение mySQL после перезапуска службы tomcat?
** Вот так я подключаюсь к серверу mysql,
код в классе SLO:
con = ConnectionPool.getConnection();
код в классе ConnectionPool,
public static Connection getConnection(){
return connectionManager.getConnection();
}
public static class ConnectionManager {
public Connection getConnection(String driverClass, String driverUrl) {
Connection conn = null;
try {
conn = DriverManager.getConnection("proxool." + POOLALIAS + ":" + driverClass + ":" + driverUrl;);
} catch (SQLException e) {
log.err_sys("ConnectionPool.getConnection(): Error -" + e);
}
return conn;
}
}