CAMEL-7058: Fixed sql producer setting header after preserving.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/77266240 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/77266240 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/77266240 Branch: refs/heads/camel-2.12.x Commit: 77266240b7eb4f6ce56f5afad3d472aecdacaa94 Parents: 4673d43 Author: Claus Ibsen <[email protected]> Authored: Tue Dec 10 15:58:40 2013 +0100 Committer: Claus Ibsen <[email protected]> Committed: Tue Dec 10 16:00:38 2013 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/camel/component/sql/SqlProducer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/77266240/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlProducer.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlProducer.java index 4b33c30..cf3b9ee 100644 --- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlProducer.java +++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlProducer.java @@ -89,6 +89,9 @@ public class SqlProducer extends DefaultProducer { } else { boolean isResultSet = ps.execute(); if (isResultSet) { + // preserve headers first, so we can override the SQL_ROW_COUNT header + exchange.getOut().getHeaders().putAll(exchange.getIn().getHeaders()); + ResultSet rs = ps.getResultSet(); SqlOutputType outputType = getEndpoint().getOutputType(); log.trace("Got result list from query: {}, outputType={}", rs, outputType); @@ -115,9 +118,6 @@ public class SqlProducer extends DefaultProducer { } else { throw new IllegalArgumentException("Invalid outputType=" + outputType); } - - // preserve headers - exchange.getOut().getHeaders().putAll(exchange.getIn().getHeaders()); } else { exchange.getIn().setHeader(SqlConstants.SQL_UPDATE_COUNT, ps.getUpdateCount()); }
