77725.fb2
18 января 2009, 09:00. рейтинг: 1273
Разрабатываем одну большую корпоративную систему – огромная база данных, большие нагрузки на сервера ну и веб-интерфейс, куда ж без него. Интерфейс этот пишется с использованием одной библиотечки, которая в свою очередь вовсю исполь зует AJAX. Библиотека open-source, но как-то раз преподнесла совершенно неожи данный сюрприз.
Решил я ее обновить, скачал новую версию, пересобрал, залил – все вроде в порядке. Но при заходе на одну из страничек сервер стал тут же падать! Не поняв с первого раза, как стабильно работающее приложение может вдруг выкинуть такой фокус, стал внимательно изучать логи. И обнаружил там, о ужас, StackOverflowEx ception! При этом, точно зная что рекурсию нигде не использую, порылся в своем коде пару минут, да и решил заглянуть в код библиотеки. А там увидел вот такую прелесть на месте того метода, который вызывал ошибку:
/**
* @return
* @see #getPage()
* @deprecated
*/
public int getPageIndex() {
return getPageIndex();
}
Вот оказывается как надо объявлять метод устаревшим, чтобы его впредь больше никогда не использовали!