I just return new object from UploadFromDiskActionProcessor.process. 2016-11-21 5:15 GMT+03:00 Tomohisa Igarashi <tm.igara...@gmail.com>:
> Hi, > > Are you responding with IN message without removing headers? You may want > to add headerFilterStrategy to filter unnecessary headers from response. > > Thanks, > Tomo > > On 11/21/2016 12:36 AM, Vova Shelgunov wrote: > >> Hi, >> >> I have application with the following jetty configuration: >> >> <route id="ds-rest-archive-upload-processor"> >> <from uri="jetty:https://storage:8443/data/archive?sslContextParam >> etersRef=sslContextParameters&requestBufferSize=32768& >> amp;responseBufferSize=32768&httpMethodRestrict=POST < >> https://storage:8443/data/archive?sslContextParametersRef=s >> slContextParameters&requestBufferSize=32768&response >> BufferSize=32768&httpMethodRestrict=POST>" /> >> >> <to uri="bean:uploadFromArchiveFileProcessor?method=process" >> pattern="InOut" /> >> >> </route> >> >> <bean id="jetty" class="org.apache.camel.compon >> ent.jetty9.JettyHttpComponent9"> >> <property name="endpointClass" >> value="org.apache.camel.component.jetty9.JettyHttpEndpoint9" >> /> >> <property name="sslContextParameters" ref="sslContextParameters" /> >> <property name="useContinuation" value="true" /> >> <property name="requestBufferSize" value="32768" /> >> <property name="responseBufferSize" value="32768" /> >> >> <property name="threadPool"> >> <bean class="org.eclipse.jetty.util.thread.QueuedThreadPool"> >> <constructor-arg index="0" value="1000" /> >> </bean> >> </property> >> >> <property name="jettyHttpBinding"> >> <bean class="org.apache.camel.component.jetty.DefaultJettyHttpBinding"> >> <property name="transferException" value="false" /> >> </bean> >> </property> >> </bean> >> >> *I am sending a file to this endpoint. >> When exception happens inside UploadFromArchiveFileProcessor.process I >> see the following warning **in the log**:* >> >> >> 2016-11-20 14:15:30,630 WARN in org.eclipse.jetty.server.HttpC >> hannel$CommitCallback.failed(HttpChannel.java:858) - Commit failed >> java.io.IOException: Response header too large >> at org.eclipse.jetty.http.HttpGenerator.generateResponse(HttpGe >> nerator.java:402) >> at org.eclipse.jetty.server.HttpConnection$SendCallback.process >> (HttpConnection.java:655) >> at org.eclipse.jetty.util.IteratingCallback.processing(Iteratin >> gCallback.java:246) >> at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCa >> llback.java:208) >> at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:471) >> at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChanne >> l.java:763) >> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) >> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:147) >> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:140) >> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:383) >> at java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:167) >> at org.eclipse.jetty.server.Utf8HttpWriter.write(Utf8HttpWriter.java:183) >> at org.eclipse.jetty.server.HttpWriter.write(HttpWriter.java:71) >> at java.io.PrintWriter.write(PrintWriter.java:456) >> at java.io.PrintWriter.write(PrintWriter.java:473) >> at java.io.PrintWriter.print(PrintWriter.java:603) >> at org.apache.camel.http.common.DefaultHttpBinding.doWriteDirec >> tResponse(DefaultHttpBinding.java:506) >> at org.apache.camel.http.common.DefaultHttpBinding.doWriteRespo >> nse(DefaultHttpBinding.java:390) >> at org.apache.camel.http.common.DefaultHttpBinding.writeRespons >> e(DefaultHttpBinding.java:322) >> at org.apache.camel.component.jetty.CamelContinuationServlet.do >> Service(CamelContinuationServlet.java:227) >> at org.apache.camel.http.common.CamelServlet.service(CamelServl >> et.java:74) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) >> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) >> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilte >> r(ServletHandler.java:1669) >> at org.apache.camel.component.jetty.CamelFilterWrapper.doFilter >> (CamelFilterWrapper.java:45) >> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilte >> r(ServletHandler.java:1652) >> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHan >> dler.java:585) >> at org.eclipse.jetty.server.handler.ContextHandler.doHandle( >> ContextHandler.java:1127) >> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHand >> ler.java:515) >> at org.eclipse.jetty.server.handler.ContextHandler.doScope( >> ContextHandler.java:1061) >> at org.eclipse.jetty.server.handler.ScopedHandler.handle(Scoped >> Handler.java:141) >> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(Handl >> erWrapper.java:97) >> at org.eclipse.jetty.server.Server.handleAsync(Server.java:549) >> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318) >> at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConne >> ction.java:257) >> at org.eclipse.jetty.io <http://org.eclipse.jetty.io>. >> AbstractConnection$2.run(AbstractConnection.java:544) >> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Queued >> ThreadPool.java:635) >> at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedT >> hreadPool.java:555) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: java.nio.BufferOverflowException >> at java.nio.Buffer.nextPutIndex(Buffer.java:521) >> at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:169) >> at org.eclipse.jetty.http.HttpGenerator.putSanitisedValue(HttpG >> enerator.java:1066) >> at org.eclipse.jetty.http.HttpGenerator.putTo(HttpGenerator.java:1088) >> at org.eclipse.jetty.http.HttpGenerator.generateHeaders(HttpGen >> erator.java:705) >> at org.eclipse.jetty.http.HttpGenerator.generateResponse(HttpGe >> nerator.java:387) >> ... 38 more >> >> *When an exception does not occur and I do not add the following code to >> finally block of process method, I will see the same exception and route >> will fail.* >> >> message.removeHeader(attachment.getName()); >> >> *I tried to debug HttpGenerator.generateHeaders and see that inside >> _info._httpFields there are following fields:* >> >> >> >> I do not know what file from the request is doing here, but it is strange >> at least. >> >> Could you please say how to avoid such exceptions? >> Also strange thing that file content is stored in memory, so I am not >> able to upload large file. >> >>