Rossen Stoyanchev 6 years ago
parent a8f4c596fd
commit 7aa933437c
  1. 4
      spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java
  2. 4
      spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java
  3. 4
      src/docs/asciidoc/web/websocket.adoc

@ -59,8 +59,8 @@ public class HttpWebHandlerAdapter extends WebHandlerDecorator implements HttpHa
/**
* Dedicated log category for disconnected client exceptions.
* <p>Servlet containers do not expose a notification when a client disconnects,
* e.g. <a href="https://java.net/jira/browse/SERVLET_SPEC-44">SERVLET_SPEC-44</a>.
* <p>Servlet containers dn't expose a a client disconnected callback, see
* <a href="https://github.com/eclipse-ee4j/servlet-api/issues/44">eclipse-ee4j/servlet-api#44</a>.
* <p>To avoid filling logs with unnecessary stack traces, we make an
* effort to identify such network failures on a per-server basis, and then
* log under a separate log category a simple one-line message at DEBUG level

@ -58,8 +58,8 @@ public abstract class AbstractSockJsSession implements SockJsSession {
/**
* Log category to use on network IO exceptions after a client has gone away.
* <p>The Servlet API does not provide notifications when a client disconnects;
* see <a href="https://java.net/jira/browse/SERVLET_SPEC-44">SERVLET_SPEC-44</a>.
* <p>Servlet containers dn't expose a a client disconnected callback, see
* <a href="https://github.com/eclipse-ee4j/servlet-api/issues/44">eclipse-ee4j/servlet-api#44</a>.
* Therefore network IO failures may occur simply because a client has gone away,
* and that can fill the logs with unnecessary stack traces.
* <p>We make a best effort to identify such network failures, on a per-server

@ -211,7 +211,7 @@ Undertow (and WildFly).
NOTE: A request to overcome the preceding limitation in the Java WebSocket API has been
created and can be followed at
https://github.com/eclipse-ee4j/websocket-api/issues/211[WEBSOCKET_SPEC-211].
https://github.com/eclipse-ee4j/websocket-api/issues/211[eclipse-ee4j/websocket-api#211].
Tomcat, Undertow, and WebSphere provide their own API alternatives that
make it possible to do this, and it is also possible with Jetty. We are hopeful
that more servers will do the same.
@ -745,7 +745,7 @@ allows exiting the Servlet container thread, processing a request, and continuin
to write to the response from another thread.
A specific issue is that the Servlet API does not provide notifications for a client
that has gone away. See https://java.net/jira/browse/SERVLET_SPEC-44[SERVLET_SPEC-44].
that has gone away. See https://github.com/eclipse-ee4j/servlet-api/issues/44[eclipse-ee4j/servlet-api#44].
However, Servlet containers raise an exception on subsequent attempts to write
to the response. Since Spring's SockJS Service supports server-sent heartbeats (every
25 seconds by default), that means a client disconnect is usually detected within that

Loading…
Cancel
Save