[ 
https://issues.apache.org/jira/browse/CAMEL-19905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17767892#comment-17767892
 ] 

Claus Ibsen commented on CAMEL-19905:
-------------------------------------

[~jamesnetherton] I wonder if you have some thoughts or could look into this?

When I looked into the code of vertx, then it appears that the body is backed 
as a vertx Buffer that are read via the 
io.vertx.ext.web.handler.impl.BodyHandlerImpl.BHandler

And that BHandler will append to its buffer, which is in-memory based.

But what we need is like a servlet based (eg camel-servlet) to just have access 
to the HTTP stream, and read the message payload directly via an API such as 
java.io.InputStream.


> camel-platform-http-vertx - Streaming mode for message body
> -----------------------------------------------------------
>
>                 Key: CAMEL-19905
>                 URL: https://issues.apache.org/jira/browse/CAMEL-19905
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-platform-http-vertx
>            Reporter: Claus Ibsen
>            Priority: Major
>
> It appears that when you have big HTTP requests then vertx-http server will 
> read all content into memory.
> At first glance it does not seems an easy API to use some kind of streaming 
> mode via java.io.InputStream as the message body type.
> The vertx based Buffer appears to be read entirely into memory.
> io.vertx.ext.web.handler.BodyHandler#create()
> See the following code
> https://github.com/apache/camel/blob/b7eed290f06dc483e67892b3bb1cfccc0a4e1f1e/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpConsumer.java#L276



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to