Optimise - Bean component - Dont remove non existing header
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b646977b Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b646977b Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b646977b Branch: refs/heads/master Commit: b646977baa6421c55e2019fbdc1e2759beef0bae Parents: cec467f Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Jun 2 11:28:34 2017 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Jun 2 11:28:34 2017 +0200 ---------------------------------------------------------------------- .../main/java/org/apache/camel/component/bean/MethodInfo.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/b646977b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java index f2aedb9..e384247 100644 --- a/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java +++ b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java @@ -649,7 +649,7 @@ public class MethodInfo { // if there was an explicit method name to invoke, then we should support using // any provided parameter values in the method name - String methodName = exchange.getIn().getHeader(Exchange.BEAN_METHOD_NAME, "", String.class); + String methodName = exchange.getIn().getHeader(Exchange.BEAN_METHOD_NAME, String.class); // the parameter values is between the parenthesis String methodParameters = StringHelper.betweenOuterPair(methodName, '(', ')'); // use an iterator to walk the parameter values @@ -668,7 +668,9 @@ public class MethodInfo { if (multiParameterArray) { exchange.getIn().removeHeader(Exchange.BEAN_MULTI_PARAMETER_ARRAY); } - exchange.getIn().removeHeader(Exchange.BEAN_METHOD_NAME); + if (methodName != null) { + exchange.getIn().removeHeader(Exchange.BEAN_METHOD_NAME); + } Object[] answer = evaluateParameterExpressions(exchange, body, multiParameterArray, it); return (T) answer;