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