How to set eternal in Camel cache component
Issue
- We are currently using
Camel's cachecomponent to cache static data. There is no problem retrieving and setting the cache data. However the data that in the cache is getting lost after 15 or 16 minutes even after specifyingeternal=truein thecache endpoint. - Code References:
public class CacheRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
// TODO Auto-generated method stub
onException(Exception.class)
.handled(true)
.to("direct-vm:exceptionResponse");
//ESB Service Cache Data
from("cache://ESBServiceCache?eternal=true")
.to("mock:dummy");
//Expects headers KEY and VALUE
from("direct-vm:setCacheData")
.log("Client save Request Recevied...")
.beanRef("cacheSvcsImplBean", "setCacheData")
.to("cache://ESBServiceCache");
//Expects header KEY
from("direct-vm:getCacheData")
.log("Client Get Value Request Recevied...")
.beanRef("cacheSvcsImplBean", "getCacheData")
.to("cache://ESBServiceCache");
}
}
public void setCacheData(Exchange exchange) {
LOG.info(" Inside setCacheData keyString >>>::<<<<<<< " + exchange.getIn().getHeader());
String keyData = exchange.getIn().getHeader("KEY").toString();
String valeData = exchange.getIn().getHeader("VALUE").toString();
exchange.getIn().setHeader(CacheConstants.CACHE_OPERATION, CacheConstants.CACHE_OPERATION_ADD);
exchange.getIn().setHeader(CacheConstants.CACHE_KEY, keyData);
exchange.getIn().setBody(valeData);
}
public void getCacheData(Exchange exchange) {
LOG.info(" Inside getCacheData keyString >>>::<<<<<<< " + exchange.getIn().getHeader());
String keyValue = exchange.getIn().getHeader("KEY").toString();
exchange.getIn().setBody(null);
exchange.getIn().setHeader(CacheConstants.CACHE_OPERATION, CacheConstants.CACHE_OPERATION_GET);
exchange.getIn().setHeader(CacheConstants.CACHE_KEY, keyValue);
}
Environment
- Red Hat JBoss Fuse
- 6.2.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
