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()) {