Below are code snippets to configure cache in Camel and Fuse ESB
Initializing Cache Component
<camel:route autoStartup="true">
<camel:from uri="cache://Cache?maxElementsInMemory=1500&memoryStoreEvictionPolicy=MemoryStoreEvictionPolicy.LFU&diskExpiryThreadIntervalSeconds=864000&overflowToDisk=true&eternal=true&timeToIdleSeconds=86400"/>
<camel:log message="Cahce operation done is : ${header.CamelCacheOperation} on Key ${header.CamelCacheKey}"/>
<camel:to uri="mock:end"/>
</camel:route>
Add Operation ---:
"<camel:setHeader headerName="CamelCacheOperation">
<camel:constant>CamelCacheAdd</camel:constant>
</camel:setHeader>
<camel:setHeader headerName="CamelCacheEternal">
<camel:constant>true</camel:constant>
</camel:setHeader>
<camel:setHeader headerName="CamelCacheKey">
<camel:simple>${header.key}</camel:simple>
</camel:setHeader>
<camel:to uri="cache://Cache"/>
Update Operation --:
<camel:setHeader headerName="CamelCacheOperation">
<camel:constant>CamelCacheUpdate</camel:constant>
</camel:setHeader>
<camel:setHeader headerName="CamelCacheKey">
<camel:simple>${header.key}</camel:simple>
</camel:setHeader>
<camel:setHeader headerName="CamelCacheEternal">
<camel:constant>true</camel:constant>
</camel:setHeader>
<camel:to uri="cache://Cache"/>
Delete Operation --:
<camel:setHeader headerName="CamelCacheOperation">
<camel:simple>CamelCacheDelete</camel:simple>
</camel:setHeader>
<camel:setHeader headerName="CamelCacheKey">
<camel:simple>${header.key}</camel:simple>
</camel:setHeader>
<camel:to uri="cache://Cache"/>
Get Operation --:
<camel:setHeader headerName="CamelCacheOperation">
<camel:simple>CamelCacheGet</camel:simple>
</camel:setHeader>
<camel:setHeader headerName="CamelCacheKey">
<camel:simple>${header.key}</camel:simple>
</camel:setHeader>
<camel:to uri="cache://Cache"/>
Also add Camel:Cache feature in Fuse, Which creates an Instance of ECChache
No comments:
Post a Comment