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 d6f0f9d  camel-jcache - Should init key expression in jcache policy.
d6f0f9d is described below

commit d6f0f9dcc19b3ab6e1820539f9de2dd98178404e
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Nov 4 09:44:36 2020 +0100

    camel-jcache - Should init key expression in jcache policy.
---
 .../apache/camel/component/jcache/policy/JCachePolicy.java  |  6 ++----
 .../component/jcache/policy/JCachePolicyProcessor.java      | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git 
a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicy.java
 
b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicy.java
index 216ff6a..87d82d8 100644
--- 
a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicy.java
+++ 
b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicy.java
@@ -57,7 +57,7 @@ public class JCachePolicy implements Policy {
 
     @Override
     public void beforeWrap(Route route, NamedNode namedNode) {
-
+        // noop
     }
 
     @Override
@@ -105,9 +105,7 @@ public class JCachePolicy implements Policy {
 
         }
 
-        //Create processor
-        return new JCachePolicyProcessor(cache, keyExpression, processor);
-
+        return new JCachePolicyProcessor(route.getCamelContext(), cache, 
keyExpression, processor);
     }
 
     public Cache getCache() {
diff --git 
a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicyProcessor.java
 
b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicyProcessor.java
index d9bacd0..d561d85 100644
--- 
a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicyProcessor.java
+++ 
b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicyProcessor.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.jcache.policy;
 import javax.cache.Cache;
 
 import org.apache.camel.AsyncCallback;
+import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.Processor;
@@ -29,11 +30,13 @@ import org.slf4j.LoggerFactory;
 public class JCachePolicyProcessor extends DelegateAsyncProcessor {
     private static final Logger LOG = 
LoggerFactory.getLogger(JCachePolicyProcessor.class);
 
+    private final CamelContext camelContext;
     private Cache cache;
     private Expression keyExpression;
 
-    public JCachePolicyProcessor(Cache cache, Expression keyExpression, 
Processor processor) {
+    public JCachePolicyProcessor(CamelContext camelContext, Cache cache, 
Expression keyExpression, Processor processor) {
         super(processor);
+        this.camelContext = camelContext;
         this.cache = cache;
         this.keyExpression = keyExpression;
     }
@@ -102,6 +105,14 @@ public class JCachePolicyProcessor extends 
DelegateAsyncProcessor {
     }
 
     @Override
+    protected void doInit() throws Exception {
+        super.doInit();
+        if (keyExpression != null) {
+            keyExpression.init(camelContext);
+        }
+    }
+
+    @Override
     protected void doStop() throws Exception {
         //Clear cache if stopping.
         if (!cache.isClosed()) {

Reply via email to