У меня есть очень странное поведение в одном из моих контроллеров весны, который я не могу объяснить.Loop in Spring Controller Method
Так что это то, что у меня есть. Очень простой контроллер.
@RequestMapping(value="/doSomething")
public void doSomething(@RequestParam int value, HttpSession session) {
System.out.println("Lorem");
// Some stuff later on done here
System.out.println("ipsum");
}
Когда я запрашиваю сопоставленный URL-адрес контроллера, он должен иметь бесконечный цикл внутри. Таким образом, он начинается с вывода «Lorem», затем «ipsum», и вместо того, чтобы оставить метод, он снова начинается с начала метода. Он не вызывается несколько раз из внешнего. Кто-нибудь знает это поведение или имеет какое-либо представление? Кроме того, я мог заметить, что скорость вывода замедляется, так как память резко увеличивается примерно до 1,5 ГБ, а 100% загрузка процессора распространяется по каждому ядру. Спасибо за вашу помощь.
Спасибо за ваш ответ. Мне не нужно указывать весне, чтобы загрузить какой-либо конкретный вид, так как я просто использую контроллер, чтобы сделать что-то. Этот метод называется асинхронным с обычной html-страницы с jQuery. Поэтому в некоторых других случаях я использовал @ResponseBody для получения JSON-кодированного ответа, но в этом случае мне просто не нужен какой-либо ответ. – RaHe
Просто попробовал это с @ResponseBody void, но с тем же результатом. Смешно, что у меня есть другой метод в том же контроллере, где он работает отлично. – RaHe
Проверьте конфигурацию MVC, возможно/doSomething отображается как обработчик ошибок, поэтому при возникновении исключения он возвращается туда (бесконечный цикл). – gerrytan