Jetty WebSocket TimeOutException: истекло время простоя? - PullRequest
0 голосов
/ 08 июня 2018

Я на Jetty Websocket (jetty-all-9.4.5.v20170502-uber.jar) на стороне сервера, получаю один раз:

**java.util.concurrent.TimeoutException: Idle timeout expired: 300011/300000 ms**
Socket Closed: CloseReason[1001,Idle Timeout]
Socket Closed: CloseReason[1001,Idle Timeout]
    at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:166)
    at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)**

Это уникальное событие в начале ивсе остальное работает отлично!

Я пытался изменить это:

_context = new ServletContextHandler(ServletContextHandler.SESSIONS);
_context.setContextPath("/");
System.out.println(_context.getStopTimeout());
_context.setStopTimeout(0);
_server.setHandler(_context);

~ безуспешно!

Не знаю.

1 Ответ

0 голосов
/ 13 июня 2018

ПРЕДУПРЕЖДЕНИЕ: Не используйте jetty-all для своего проекта, его нельзя использовать за пределами документации быстрого запуска Jetty.

Время ожидания простоя вWebSocket управляется WebSocketPolicy .

Время ожидания простоя может быть указано в контейнере WebSocket (например, WebSocketClient или WebSocketServletFactory) или даже в отдельных подключенных сеансах WebSocket.

Ваш пример кода не показывает ничего общего с WebSocket, поэтому я не могу предоставить вам конкретную информацию, необходимую для настройки поведения веб-сокета.

...