嵌入式Jetty IllegalStateException:已提交
我正在使用jetty嵌入泽西岛。我的独立码头运行良好,但一段时间后它开始闲置。我在2毫秒内给出回应。然而它开始给出响应8000毫秒。和闲人。我对它进行了描述,但找不到任何东西。我得到这个错误:嵌入式Jetty IllegalStateException:已提交
java.lang.IllegalStateException: Committed
at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1056)
at org.eclipse.jetty.server.Response.sendError(Response.java:273)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:509)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:346)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)
at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:241)
at org.eclipse.jetty.server.ssl.SslSocketConnector$SslConnectorEndPoint.run(SslSocketConnector.java:664)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
我累了改变线程池设置,这样做:
server.setThreadPool(new ExecutorThreadPool(64,256,10));
PS 1:https://groups.google.com/forum/#!msg/cometd-users/5yhMwIlRVbg/fL7V3mwWKyoJ在这里说,执行者是不是好码头的线程池,但我不能当然。
我使用:7.4.5.v20110725 jetty-servlet和jetty-security。
任何想法?
我知道这可能为时已晚,但我刚刚碰到了这个,使用嵌入在JPOS下的Jetty 8.x。
写了一个测试处理器和快速的HandlerCollection下进行配置的:
HandlerCollection
...的ContextHandler
... RequestLogHandler
...... FunkyHandler
换句话说,它是最后一个是执行。哪个barfed了这个:
java.lang。 IllegalStateException:STREAM org.eclipse.jetty.server.Response.getWriter(Response.java:699) at com.acs.test.jetty.FunkyHandler.handle(FunkyHandler.java:26) at org.eclipse。在org.eclipse.jetty.server.Server的org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 上的jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) 。句柄(Server.java:365)
试用了OutputStream,它给了我提交状态错误,和OP一样。
所以,在阅读这里的某个地方,这些处理器在他们配置顺序调用后,修复很容易{这可能也是工作,当您设置在代码中的处理程序}:
HandlerCollection
...... FunkyHandler
...的ContextHandler
... RequestLogHandler
由于我没有耐心阅读文档码头,我敢肯定,这是什么地方提到,但在这里它是。希望它有助于某人。
有关问题的任何想法? – kamaci 2012-08-04 10:31:37
在这里看到我的答案:http://stackoverflow.com/a/33439827/179850 – Gray 2015-10-30 15:50:20