Я написал несколько Asynccall для запуска чего-то на сервере. Они отлично работают. Но для выполнения некоторых задач требуется много времени. Я хочу знать их статус во время исполнения. Затем я пишу новый Asynccall, который периодически отправляет запрос серверу, чтобы проверить статус задачи. Но для Callback я могу получить только сообщение об ошибке. Я проверил журнал, этот AsyncCallbak не может быть выполнен. Может ли кто-нибудь дать мне какое-нибудь предложение?GWT Asnyccall не может быть выполнен
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);
Что вы подразумеваете под «не может быть выполнено»? Вы имеете в виду, что он не выполнен, даже если вы его вызываете, или что есть, и сообщение об ошибке, и сообщение в журнале, сообщающее, что вызов был неудачным (если да, можете ли вы отправить сообщение в журнале)? – otonglet
Thx для вашей помощи. – user2659695
Я уверен, что обратный вызов вызывается каждые 5 секунд. Но я думаю, обратный вызов не выполняется, потому что первая строка обратного вызова - logger.info (...), но я ничего не получаю из файла журнала. – user2659695