Wicket wywołujący długą operację i aktualizujący poprzez ajax

Oparte na tymTak pytanieDoszedłem do zrozumienia, że ​​Wicket kolejkuje kolejne żądania AJAX. Teraz moja strona jest obsługiwana przez kilka żądań AJAX i chciałbym dodać jeszcze jedną, która wywołuje długą operację.

public void populateItem(final Item item) {
  final MyObject object = (MyObject) item.getModelObject();
  // ... a couple of fields
  Label statusLabel = new Label("status", new AbstractReadOnlyModel() {
    @Override
    public Object getObject() {
      return someService.doSomeLengthyOperation();
    }
  });
  statusLabel.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(5)));
  item.add(statusLabel)
}

Gdy ten Ajax zażąda pożaru, ukończenie wykonywania może potrwać do jednej minuty. Problem polega na tymsomeService.doSomeLengthyOperation() zostanie wykonanyn times the number of rows co mam, co oznacza, że ​​będę w kolejcen times two-minutes. Teraz, jak już wspomniałem, kolejka Wicket kolejkuje kolejne żądania AJAX.

To, co się dzieje, zabiera mnienumber-of-rows * minutes-it-take-to-finish-the-operation załadować stronę lub zrobić inne rzeczy, które wymagają AJAX

new AjaxButton("ajax-button"){
  @Override
  protected void onSubmit(AjaxRequestTarget target, Form form) {
    //.. this won't be executed until all the statusLabels have finished invoking getObject()
  }
}

Chciałbym uniknąć tworzenia usługi internetowej ujawniającej moją usługę i zmuszonej do pisania własnych połączeń AJAX. Jakie mam opcje? (Korzystanie z Wicket 1.5 / Pax-Wicket)

questionAnswers(2)

yourAnswerToTheQuestion