Proxy 使用AsyncMiddleManServlet时出现间歇性异常

Proxy 使用AsyncMiddleManServlet时出现间歇性异常,proxy,jetty,embedded-jetty,jetty-9,proxy-server,Proxy,Jetty,Embedded Jetty,Jetty 9,Proxy Server,我正在使用Jetty的嵌入式服务器和AsyncMiddleManServlet创建一个代理服务器,它将更改一些请求的响应。对于其他请求,它只是一个传递服务器。我在这方面遇到间歇性异常和故障。下面是异常堆栈跟踪 INFO:oejc.ResponseNotifier:qtp2046562095-29: Exception while notifying listener org.eclipse.jetty.proxy.AsyncMiddleManServlet$ProxyResponseListen

我正在使用Jetty的嵌入式服务器和AsyncMiddleManServlet创建一个代理服务器,它将更改一些请求的响应。对于其他请求,它只是一个传递服务器。我在这方面遇到间歇性异常和故障。下面是异常堆栈跟踪

INFO:oejc.ResponseNotifier:qtp2046562095-29: Exception while notifying listener org.eclipse.jetty.proxy.AsyncMiddleManServlet$ProxyResponseListener@606c22a1
java.lang.IllegalStateException: s=IDLE i=true a=null
    at org.eclipse.jetty.server.Request.getAsyncContext(Request.java:400)
    at org.eclipse.jetty.proxy.AbstractProxyServlet.onProxyResponseFailure(AbstractProxyServlet.java:643)
    at org.eclipse.jetty.proxy.AsyncMiddleManServlet$ProxyResponseListener.failed(AsyncMiddleManServlet.java:560)
    at org.eclipse.jetty.util.CountingCallback.failed(CountingCallback.java:87)
    at org.eclipse.jetty.proxy.AsyncMiddleManServlet$ProxyResponseListener.onComplete(AsyncMiddleManServlet.java:546)
    at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:193)
    at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:185)
    at org.eclipse.jetty.client.HttpExchange.notifyFailureComplete(HttpExchange.java:269)
    at org.eclipse.jetty.client.HttpExchange.abort(HttpExchange.java:240)
    at org.eclipse.jetty.client.HttpConversation.abort(HttpConversation.java:141)
    at org.eclipse.jetty.client.HttpRequest.abort(HttpRequest.java:704)
    at org.eclipse.jetty.client.HttpDestination.abort(HttpDestination.java:252)
    at org.eclipse.jetty.client.PoolingHttpDestination$1.run(PoolingHttpDestination.java:68)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:745)

这背后的原因是什么?我已经在服务器配置和ProxyServlet类上设置了MaxIdleTimeout

这实际上是一个java.net.SocketTimeoutException:Connect Timeout,当客户端遇到此异常时,侦听器会收到此错误的通知,但在侦听器中它尝试获取AsyncContext,并且此上下文的验证失败。如何在ProxyServlet中增加套接字超时值?这实际上是一个java.net.SocketTimeoutException:Connect Timeout,当客户端遇到此异常时,侦听器会收到此错误的通知,但在侦听器中它尝试获取AsyncContext,而此上下文的验证失败。如何增加ProxyServlet中的套接字超时值?