У меня есть веб-приложение на Java, которое развернуто на 32-разрядной машине Windows Server 2008 и работает нормально с apache-tomcat-8.5.34-windows-x86.Это же веб-приложение не работает с обновленной версией tomcat, то есть apache-tomcat-8.5.40-windows-x86.
Я прошел несколько форумов, но не нашел никаких подробностей, еслиtomcat apache-tomcat-8.5.40 поддерживает 32-битный компьютер с Windows Server 2008 или нет?
С другой стороны, он работает на 64-битном компьютере с установленным apache-tomcat-8.5.40.Эта проблема наблюдается только в 32-битной версии 2008 года, и я вижу здесь, что соединение с базой данных разрывается.Я попытался перехватить исключение в блоке catch, но оно не перехватило исключение, и я не могу прийти к выводу.Ниже приведен код.
try {mLogger.log (CustomLogTraceLevel.DEDUPE_TRACE, "Внутреннее соединение с БД");
DataSource ds = DBDataSource.getDataSource();
if (ds == null)
throw new Result("ERROR_COULDNOT_GET_DB_SOURCE");
// get connection object from connection pool
mConnection = (Connection) ds.getConnection();// the code breaks here and it is not getting catch in the catch block
} catch (SQLException se) {
mLogger.error(se);
mLogger.log(CustomLogTraceLevel.DEDUPE_TRACE, "SQL Code: " + se.getErrorCode());
mLogger.log(CustomLogTraceLevel.DEDUPE_TRACE, "SQL Code: " + se.getMessage());
mLogger.log(CustomLogTraceLevel.DEDUPE_TRACE, "SQL Code: " + se.getSQLState());
mLogger.log(CustomLogTraceLevel.DEDUPE_TRACE, "SQL Code: " + se.getStackTrace());
} catch (Result r) {
mLogger.log(CustomLogTraceLevel.DEDUPE_TRACE, "Caught result exception");
throw new Result("ERROR_COULDNOT_GET_DB_CONNECTION", r);
} catch (Exception ex) {
mLogger.log(CustomLogTraceLevel.DEDUPE_TRACE, "in the exception ex block");
mLogger.error(ex);
throw new Result("ERROR_COULDNOT_GET_DB_CONNECTION", ex.getMessage());
} finally {
mLogger.log(CustomLogTraceLevel.DEDUPE_TRACE, "In the finally block");
mLogger.debug("Exiting getConnection.");
}
return mConnection;
}