Proxy 使用AsyncMiddleManServlet时出现间歇性异常
我正在使用Jetty的嵌入式服务器和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
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中的套接字超时值?