camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: Stream the result of a database query
Date Tue, 20 May 2014 05:55:10 GMT

Yeah contributions is welcome. Just mind about the stream must close
the underlying ResultSet / DataSource / Connection when done, so you
would need to add that logic into the iterator you provide as output.
So when the iterator is closed, then it does close those resources.

Also I wonder if you would need to configure somewhere in JDBC that
you want the result set in a streaming / batch mode. So the JDBC
driver don't load all 1000000 rows into memory anyway.

On Mon, May 19, 2014 at 6:59 PM, Antoine DESSAIGNE
<> wrote:
> Hi everyone,
> I've looked into the source code and it doesn't seem like its possible to
> stream the result of an SQL query in camel using either the SqlComponent or
> the JdbcComponent. This would be really useful when reading a large DataSet.
> If you confirm that it's not the case right now, I would gladly fill a JIRA
> issue and submit a pull request. I think I'm going to use another option in
> SqlOutputType named StreamList and return an Iterator that wraps the
> ResultSet in this case
> That way it would look like
> from("direct:streamDB")
> .to("sql:select * from actors?outputType=StreamList")
> .split(body())
>     .to("direct:processSingleActor")
> What do you think ?
> Antoine.

Claus Ibsen
Red Hat, Inc.
Twitter: davsclaus
Author of Camel in Action:

View raw message