Spring 3 MVC, Tomcat Web App зависает после нескольких запросов - PullRequest
1 голос
/ 28 июля 2011

Я создал (мое первое) маленькое приложение Spring 3 MVC, но столкнулся с проблемой, которая немного загадочна для меня.

Приложение имеет несколько форм для управления базой данных. Я создал один класс Java Controller, который отображает все запросы в Java-методы (см. Код). После нескольких запросов в браузере происходит сбой веб-приложения. Код для манипулирования записью в базе данных вызывается успешно, но перезагрузка страницы кажется неудачной.

Класс контроллера:

@RequestMapping("/usermanager")
public String getUserInfo(Map<String, Object> map) throws ServletException {
    try {
        map.put("userInfo", userService.getUserInfo());
    } catch (Exception e) {
        throw new ServletException(e);
    }
    return "usermanager";
}

@RequestMapping("/updateUserInfo")
public String updateUserInfo(@ModelAttribute("userInfo") User user) throws NamingException, SQLException {
    userService.storeUserInfo(user);
    return "redirect:/service/usermanager";
} 

Структура действительно проста, пользовательский менеджер запроса вызывается для отображения данных таблицы. На сайте отображается форма, в которой я могу редактировать свои данные, отправка формы вызывает запрос updateUserInfo. Через несколько раз запрос зависает при возврате "usermanager";.

У кого-то было объяснение этому поведению, или идея?


Edit: Кстати: нет никаких исключений или что-то еще. Веб-приложение просто зависает.

Большое спасибо, С уважением Саша

1 Ответ

2 голосов
/ 29 июля 2011

я нашел ошибку. Посмотрел не в том месте.

Ошибка действительно возникает в getUserInfo (). Но это более общая проблема с моим методом подключения к базе данных.

Каждый раз, когда делаю запрос к базе данных, я звонил: connection = dataSource.getConnection(); Это вызывает утечку. Лучше проверить, есть ли уже соединение: -D

if (connection == null || connection.isClosed()) {
    connection = dataSource.getConnection();
}

Кстати, я использую встроенную базу данных Derby, к которой обращается jdbcTemplate.

Иногда мы не видим дрова для деревьев: -)

Спасибо за ваши усилия. Хорошего дня Sascha

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...