Jakie jest dokładne zachowanie AsyncContext po przekroczeniu limitu czasu? Czy nadal działa i czy zwraca odpowiedź za pomocą metody getResponse()?Zachowanie JavaEE 6 AsyncContext po upływie limitu czasu
Odpowiedz
Java Servlet 3.0 Maintenance Release na stronie 34 czytamy:
Wywołanie tej metody -
ServletRequest.startAsync(ServletRequest req, ServletResponse res)
- zapewnia, że odpowiedź nie jest zaangażowana gdy wychodzi skargi z metody usługi. Jest on zatwierdzany, gdy wywoływany jest AsyncContext.complete na zwróconym asynchronicznym tekście lub AsyncContext i nie ma żadnych detektorów powiązanych z obsługą czasu na . Licznik asynchronicznych limitów czasu nie rozpocznie się, dopóki żądanie z i skojarzona odpowiedź nie powrócą z kontenera. AsyncContext może zostać użyty do napisania odpowiedzi z wątku asynchronicznego . Może być również używany do powiadamiania, że odpowiedź nie jest zamknięta i zatwierdzona.
Od the javadoc of the javax.servlet.AsyncContext interface:
W przypadku, gdy operacja asynchroniczna wygasła, pojemnik musi przebiegać przez następujące kroki:
- wzywać na ich metody onTimeout, wszystko AsyncListener instancje zarejestrowane w ServletRequest, w którym zainicjowano operację asynchroniczną.
- Jeśli żaden ze składników nasłuchujących nie wywołał metody complete() ani żadnej metody dispatch(), należy wykonać wysyłkę błędu o kodzie statusu równym do HttpServletResponse.SC_INTERNAL_SERVER_ERROR.
- Jeśli żadna strona dopasowanie błąd został znaleziony, czy strona błędu nie zadzwonił kompletne() lub którykolwiek z wysyłką() metody, zadzwoń do końca().”Powyżej
Ostatni wiersz jest najbardziej znaczenie - nie będzie to wezwanie do AsyncContext.complete()
The javadoc says.
Kończy operację asynchroniczną, który został uruchomiony na wniosek , który został użyty do initialze ten AsyncContext, zamykając odpowiedź , który został użyty do zainicjowania tego AsyncContext .
Po zamknięciu AsyncContext
, połączenia z większością metod zostaną rzucone IllegalStateException
.
- 1. Nodejs + expressjs powtórzy żądanie po upływie limitu czasu serwera
- 2. Angular2 - TypeScript: Zwiększ liczbę po upływie limitu czasu w AppComponent
- 3. Spróbuj ponownie po upływie określonego czasu?
- 4. Aplikacja nie śpi po upływie czasu bezczynności
- 5. Jak uruchomić metodę po upływie określonego czasu?
- 6. WinForm automatycznie zamyka po upływie czasu?
- 7. iPhone: Po upływie pewnego czasu animacja przestała działać.
- 8. VIM: Jak wyłączyć podświetlenie wyszukiwania po upływie czasu (X sekund)?
- 9. Wznów pobieranie FTP po przekroczeniu limitu czasu
- 10. Wywołanie Ajax po przekroczeniu limitu czasu
- 11. Jak wygasić komunikat po przekroczeniu limitu czasu
- 12. JavaEE 6: javax.naming.NameAlreadyBoundException: Użyj rebind, aby zastąpić
- 13. Jak uzyskać fopen do limitu czasu właściwie
- 14. feedparser z limitu czasu
- 15. Monitorowanie synchronicznej metody limitu czasu
- 16. Wydłużenie limitu czasu odpytywania
- 17. Zwiększenie błędu 504 limitu czasu
- 18. Błąd limitu czasu podczas uruchamiania Invoke-RestMethod
- 19. Ustawianie limitu czasu limitu czasu oczekiwania w joomla
- 20. Różnice w formach dopuszczonego limitu czasu sesji i limitu czasu
- 21. Pokaż komunikat o powodzeniu, a następnie przekierowanie na inną stronę po upływie limitu czasu za pomocą PageFlow
- 22. Ustawienia limitu czasu HttpURLConnection
- 23. Zmiana limitu czasu SqlConnection
- 24. Java, zwiększenie limitu czasu gniazda
- 25. Automatyczne przekierowanie JSP po wygaśnięciu sesji/przekroczeniu limitu czasu
- 26. PhantomJS2 rozłącza się po przekroczeniu limitu czasu - jak debugować?
- 27. Nieukończony wyjątek po przekroczeniu limitu czasu Ext.Ajax.request w przeglądarce Chrome
- 28. Zwiększenie limitu czasu dla .ashx
- 29. Wdrażanie limitu czasu w C#
- 30. Ustawienie limitu czasu transakcji JBoss?
dzięki za odpowiedź :-) – xwinus
@xwinus, jeśli podoba ci się odpowiedź, zatwierdź ją. –
@JacekLaskowski: +1. Myślę, że również pośrednio odpowiedziałeś na plakaty inne pytanie [tutaj] (http://stackoverflow.com/questions/15228031/java-lang-illegalstateexception-not-suspended-when-asynccontextcomplete)! – brainOverflow