У меня есть страница Wicket, которая создает в конструкторе только ListView. Эти элементы представления списка являются только компонентами, присутствующими на странице.
Для загрузки этих компонентов я использую AsynchronousUpdatePanel из сторонней библиотеки: https://gist.github.com/jonnywray/594468
Я хочу использовать асинхронную панель, потому что некоторые компонентызагружаются 300 мс, но примерно 10 секунд.
Проблема в том, что иногда, когда я хочу обновить страницу, начинается какой-то бесконечный цикл, и страница перезагружается снова и снова . Показываются ленивые индикаторы, и через несколько мс страница обновляется снова. Пользователь должен закрыть эту вкладку браузера и начать снова.
Когда начинается бесконечный цикл, StalePageException выдается снова и снова, что запускает перезагрузку страницы. Тогда консоль приложения полна этих:
WARN RequestCycleExtra - ********************************
WARN RequestCycleExtra - Handling the following exception
org.apache.wicket.core.request.mapper.StalePageException: A request to page '[Page class = *.*Page, id = 1, render count = 2]' has been made with stale 'renderCount'. The page will be re-rendered.
WARN RequestCycleExtra - ********************************
Не могу найти, что я делаю не так. Компоненты, которые загружаются, имеют модели, которые загружаются в поток Callable в фоновом режиме через AsynchronousUpdatePanel, а затем вызывается метод onPostSuccess, и в этом методе я заменяю индикатор отложенного запуска на моей панели (компоненте), которая теперь имеет загруженную модель.
Спасибо за любой ответ.