This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 01f8fd4  camel-bean: optimize to not lookup bean component per message 
if we can lookup once only.
01f8fd4 is described below

commit 01f8fd4038d05e92b7667bbc1fb5cc6fa53068cf
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Oct 7 21:18:09 2020 +0200

    camel-bean: optimize to not lookup bean component per message if we can 
lookup once only.
---
 .../src/main/java/org/apache/camel/language/bean/BeanLanguage.java   | 5 +++++
 1 file changed, 5 insertions(+)

diff --git 
a/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
 
b/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
index 599ffa7..199fadf 100644
--- 
a/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
+++ 
b/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
@@ -22,6 +22,7 @@ import org.apache.camel.Expression;
 import org.apache.camel.Predicate;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.StaticService;
+import org.apache.camel.component.bean.BeanComponent;
 import org.apache.camel.component.bean.ParameterMappingStrategy;
 import org.apache.camel.component.bean.ParameterMappingStrategyHelper;
 import org.apache.camel.spi.Language;
@@ -43,6 +44,7 @@ import org.apache.camel.util.StringHelper;
 @org.apache.camel.spi.annotations.Language("bean")
 public class BeanLanguage extends LanguageSupport implements StaticService {
 
+    private volatile BeanComponent beanComponent;
     private volatile ParameterMappingStrategy parameterMappingStrategy;
     private volatile Language simple;
 
@@ -117,6 +119,7 @@ public class BeanLanguage extends LanguageSupport 
implements StaticService {
             throw new IllegalArgumentException("Bean language requires bean, 
beanType, or ref argument");
         }
 
+        answer.setBeanComponent(beanComponent);
         answer.setParameterMappingStrategy(parameterMappingStrategy);
         answer.setSimple(simple);
         answer.init(getCamelContext());
@@ -172,6 +175,7 @@ public class BeanLanguage extends LanguageSupport 
implements StaticService {
             }
         }
 
+        answer.setBeanComponent(beanComponent);
         answer.setParameterMappingStrategy(parameterMappingStrategy);
         answer.setSimple(simple);
         answer.init(getCamelContext());
@@ -180,6 +184,7 @@ public class BeanLanguage extends LanguageSupport 
implements StaticService {
 
     @Override
     public void start() {
+        beanComponent = getCamelContext().getComponent("bean", 
BeanComponent.class);
         parameterMappingStrategy = 
ParameterMappingStrategyHelper.createParameterMappingStrategy(getCamelContext());
         simple = getCamelContext().resolveLanguage("simple");
     }

Reply via email to