Wicket — Исключение устаревшей страницы — как отладить?

мое приложение вроде работает правильно, но в консоли выдает много StalePageException. Я не знаю почему. Как я могу отладить причину этих исключений? Каковы общие причины этого исключения?

13:32:29,361 WARN  [RequestCycleExtra] (default task-60) ********************************
13:32:29,362 WARN  [RequestCycleExtra] (default task-60) Handling the following exception: org.apache.wicket.core.request.mapper.StalePageException

13:32:29,363 WARN  [RequestCycleExtra] (default task-60) ********************************
13:32:35,626 WARN  [RequestCycleExtra] (default task-64) ********************************
13:32:35,627 WARN  [RequestCycleExtra] (default task-64) Handling the following exception: org.apache.wicket.core.request.mapper.StalePageException

Я использую последнюю версию Wicket - 6.18, но она у меня навсегда.

ИЗМЕНИТЬ:

ЗаявлениеGokListPanel.java

  columns.add(new StatementLinkColumn(Model.of("")) {
     @Override
     public void onClick(IModel<StatementGokCommunity> model, AjaxRequestTarget target) {
        ComponentMode componentMode = ComponentMode.EDIT;
        MarkupContainer mc = StatementGokListPanel.this.getParent();
        GokCommunityStatementPanel panel = new GokCommunityStatementPanel("panel", model.getObject(), componentMode, true);
        StatementGokListPanel.this.replaceWith(panel);
        target.add(mc);
     }
  });

person Robert Niestroj    schedule 12.01.2015    source источник


Ответы (1)


Исключение возникает, если вы пытаетесь использовать экземпляр страницы, который был отображен в другой вкладке/окне браузера. Поскольку Wicket не может знать, изменили ли вы структуру страницы на другой вкладке, он просто подавляет действие (например, щелчок по ссылке, отправку формы и т. д.) и повторно отображает экземпляр страницы с его последним состоянием с сервера.

Исключение также может произойти, если вы используете функцию браузера «Просмотр исходного кода (страницы)».

person martin-g    schedule 12.01.2015
comment
Я обновил свой вопрос. Я нашел воспроизводимое место. ВСЕГДА, когда я нажимаю на эту ссылку, я получаю StalePageExcaption. У меня приложение не открывается ни в одной другой вкладке/браузере. Должна быть какая-то другая причина. - person Robert Niestroj; 12.01.2015
comment
См. Page#renderCount. Добавьте точку останова и посмотрите, почему она увеличивается, когда не ожидается, что она будет увеличена. - person martin-g; 12.01.2015