diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java b/spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java index 4a9a682605..7968d1b874 100644 --- a/spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java +++ b/spring-web/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java @@ -59,8 +59,8 @@ public class HttpWebHandlerAdapter extends WebHandlerDecorator implements HttpHa /** * Dedicated log category for disconnected client exceptions. - *

Servlet containers do not expose a notification when a client disconnects, - * e.g. SERVLET_SPEC-44. + *

Servlet containers dn't expose a a client disconnected callback, see + * eclipse-ee4j/servlet-api#44. *

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 diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java index 151bce6b1d..19cb063f4d 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java @@ -58,8 +58,8 @@ public abstract class AbstractSockJsSession implements SockJsSession { /** * Log category to use on network IO exceptions after a client has gone away. - *

The Servlet API does not provide notifications when a client disconnects; - * see SERVLET_SPEC-44. + *

Servlet containers dn't expose a a client disconnected callback, see + * eclipse-ee4j/servlet-api#44. * Therefore network IO failures may occur simply because a client has gone away, * and that can fill the logs with unnecessary stack traces. *

We make a best effort to identify such network failures, on a per-server diff --git a/src/docs/asciidoc/web/websocket.adoc b/src/docs/asciidoc/web/websocket.adoc index c65754a2ac..6c1ded3f0e 100644 --- a/src/docs/asciidoc/web/websocket.adoc +++ b/src/docs/asciidoc/web/websocket.adoc @@ -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