I am getting an java.lang.OutOfMemoryError: Java heap space when using
camel sql component with a query that returns a large number of rows.
Using a small value for maxMessagesPerPoll=10 does not help[1].
When reading the source[2], I see:
255 protected List<Map<String, Object>> queryForList(ResultSet rs) throws
SQLException {
256 ColumnMapRowMapper rowMapper = new ColumnMapRowMapper();
257 RowMapperResultSetExtractor<Map<String, Object>> mapper = new
RowMapperResultSetExtractor<Map<String, Object>>(rowMapper);
258 List<Map<String, Object>> data = mapper.extractData(rs);
259 return data;
260 }
It seems that all of the result set, rs, is going to be read regardless of
how large it is. When stepping through via eclipse's debugger this is
what I see happening.
It's unclear how to ask camel sql component to only take X rows at a time.
Is there a way to do this please?
Thanks! --Matt Payne
[1]
http://camel.465427.n5.nabble.com/Fetching-data-in-batches-td5718366.html
[2]
https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob;f=components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java#l255
camel sql component with a query that returns a large number of rows.
Using a small value for maxMessagesPerPoll=10 does not help[1].
When reading the source[2], I see:
255 protected List<Map<String, Object>> queryForList(ResultSet rs) throws
SQLException {
256 ColumnMapRowMapper rowMapper = new ColumnMapRowMapper();
257 RowMapperResultSetExtractor<Map<String, Object>> mapper = new
RowMapperResultSetExtractor<Map<String, Object>>(rowMapper);
258 List<Map<String, Object>> data = mapper.extractData(rs);
259 return data;
260 }
It seems that all of the result set, rs, is going to be read regardless of
how large it is. When stepping through via eclipse's debugger this is
what I see happening.
It's unclear how to ask camel sql component to only take X rows at a time.
Is there a way to do this please?
Thanks! --Matt Payne
[1]
http://camel.465427.n5.nabble.com/Fetching-data-in-batches-td5718366.html
[2]
https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob;f=components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java#l255