Skip to content

Commit 80ca210

Browse files
committed
websocket.idleTimeout ignored when using JettyServer — always disconnects after 30s
fix #3795
1 parent 0ddaa48 commit 80ca210

File tree

2 files changed

+5
-11
lines changed

2 files changed

+5
-11
lines changed

modules/jooby-jetty/src/main/java/io/jooby/jetty/JettyServer.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.eclipse.jetty.util.thread.Invocable;
2727
import org.eclipse.jetty.util.thread.QueuedThreadPool;
2828
import org.eclipse.jetty.util.thread.ThreadPool;
29-
import org.eclipse.jetty.websocket.server.WebSocketUpgradeHandler;
29+
import org.eclipse.jetty.websocket.server.ServerWebSocketContainer;
3030

3131
import com.typesafe.config.Config;
3232
import edu.umd.cs.findbugs.annotations.NonNull;
@@ -236,13 +236,9 @@ public io.jooby.Server start(@NonNull Jooby... application) {
236236
? conf.getDuration("websocket.idleTimeout", TimeUnit.MILLISECONDS)
237237
: TimeUnit.MINUTES.toMillis(5);
238238

239-
WebSocketUpgradeHandler.from(
240-
server,
241-
context,
242-
container -> {
243-
container.setMaxTextMessageSize(maxSize);
244-
container.setIdleTimeout(Duration.ofMillis(timeout));
245-
});
239+
var container = ServerWebSocketContainer.ensure(server, context);
240+
container.setMaxTextMessageSize(maxSize);
241+
container.setIdleTimeout(Duration.ofMillis(timeout));
246242
}
247243
server.setHandler(context);
248244
server.start();

modules/jooby-undertow/src/main/java/io/jooby/internal/undertow/UndertowWebSocket.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -325,9 +325,7 @@ void fireConnect() {
325325
conf.hasPath("websocket.idleTimeout")
326326
? conf.getDuration("websocket.idleTimeout", TimeUnit.MILLISECONDS)
327327
: TimeUnit.MINUTES.toMillis(5);
328-
if (timeout > 0) {
329-
channel.setIdleTimeout(timeout);
330-
}
328+
channel.setIdleTimeout(timeout);
331329
if (onConnectCallback != null) {
332330
dispatch(webSocketTask(() -> onConnectCallback.onConnect(this), true));
333331
} else {

0 commit comments

Comments
 (0)