サーバーで何かを実行するために、いくつかの Asynccall を作成しました。彼らは正常に動作します。ただし、一部のタスクは実行に時間がかかります。処刑中の彼らのステータスを知りたい。次に、クエリをサーバーに定期的に送信してタスクのステータスを確認する新しい Asynccall を作成します。しかし、コールバックについては、失敗メッセージしか取得できません。ログを確認しましたが、この AsyncCallbak は実行できません。誰か私に何か提案をしてもらえますか?
private BackendRemoteServiceAsync service = GWT.create(BackendRemoteService.class);
Timer timer = new Timer() {
public void run() {
try {
ApplicationController controller = ApplicationController
.getInstance();
BackendRequest request = new BackendRequest(
Command.COMMAND_TASK_CHECKSTATUS,
controller.getSessionToken());
request.setDomain(Domains.TASK);
...
service.callBackend(request, new AsyncCallback<BackendRequest>() {
public void onFailure(Throwable caught) {
task.setStatus("check status failure");
}
public void onSuccess(BackendRequest result) {
if (result.isValid()) {
task.setStatus("check status Success"); ...
} else
;
}
});
} catch (IllegalArgumentException ex) {
Window.alert("IllegalArgumentException: "+ ex.getMessage());
} catch (Throwable t) {
Window.alert(t.getMessage());
} finally {
}
}
};
timer.scheduleRepeating(5000);