Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Cache Component

Warning

This component is deprecated. As of Camel 2.18.0 You should use Ehcache.

Available as of Camel 2.1

...

Name

Default Value

Description

maxElementsInMemory

1000

The number of elements that may be stored in the defined cache

memoryStoreEvictionPolicy

MemoryStoreEvictionPolicy.LFU

The number of elements that may be stored in the defined cache. Options include

  • MemoryStoreEvictionPolicy.LFU - Least frequently used
  • MemoryStoreEvictionPolicy.LRU - Least recently used
  • MemoryStoreEvictionPolicy.FIFO - first in first out, the oldest element by creation time

overflowToDisk

true

Specifies whether cache may overflow to disk

eternal

false

Sets whether elements are eternal. If eternal, timeouts are ignored and the
element never expires.

timeToLiveSeconds

300

The maximum time between creation time and when an element expires.
Is used only if the element is not eternal

timeToIdleSeconds

300

The maximum amount of time between accesses before an element expires

diskPersistent

false

Whether the disk store persists between restarts of the Virtual Machine.

diskExpiryThreadIntervalSeconds

120

The number of seconds between runs of the disk expiry thread.

cacheManagerFactory

null

Camel 2.8: If you want to use a custom factory which instantiates and creates the EHCache net.sf.ehcache.CacheManager.

Type: abstract org.apache.camel.component.cache.CacheManagerFactory

eventListenerRegistry

null

Camel 2.8: Sets a list of EHCache net.sf.ehcache.event.CacheEventListener for all new caches- no need to define it per cache in EHCache xml config anymore.

Type: org.apache.camel.component.cache.CacheEventListenerRegistry

cacheLoaderRegistry

null

Camel 2.8: Sets a list of org.apache.camel.component.cache.CacheLoaderWrapper that extends EHCache net.sf.ehcache.loader.CacheLoader for all new caches- no need to define it per cache in EHCache xml config anymore.

Type: org.apache.camel.component.cache.CacheLoaderRegistry

key

null

Camel 2.10: To configure using a cache key by default. If a key is provided in the message header, then the key from the header takes precedence.

operation

null

Camel 2.10: To configure using an cache operation by default. If an operation in the message header, then the operation from the header takes precedence.

objectCache

false

Camel 2.15: Whether to turn on allowing to store non serializable objects in the cache. If this option is enabled then overflow to disk cannot be enabled as well.

Cache Component options

Name

Default Value

Description

configuration

 

To use a custom org.apache.camel.component.cache.CacheConfiguration configuration.

cacheManagerFactory

 

To use a custom org.apache.camel.component.cache.CacheManagerFactory.

configurationFile

 

Camel 2.13/2.12.3: To configure the location of the ehcache.xml file to use, such as classpath:com/foo/mycache.xml to load from classpath. If no configuration is given, then the default settings from EHCache is used.

...

Message Headers up to Camel 2.7

Div
classconfluenceTableSmall

Header

Description

CACHE_OPERATION

The operation to be performed on the cache. Valid options are

  • GET
  • CHECK
  • ADD
  • UPDATE
  • DELETE
  • DELETEALL
    GET and CHECK requires Camel 2.3 onwards.

CACHE_KEY

The cache key used to store the Message in the cache. The cache key is optional if the CACHE_OPERATION is DELETEALL

Wiki Markup
{div:class=confluenceTableSmall} || Header || Description || | {{CACHE_OPERATION}} | The operation to be performed on the cache. Valid options are - GET - CHECK - ADD - UPDATE - DELETE - DELETEALL\\ {{GET}} and {{CHECK}} requires *Camel 2.3* onwards. | | {{CACHE_KEY}} | The cache key used to store the Message in the cache. The cache key is optional if the CACHE_OPERATION is DELETEALL | {div}

Message Headers Camel 2.8+

Info
titleHeader changes in Camel 2.8

The header names and supported values have changed to be prefixed with 'CamelCache' and use mixed case. This makes them easier to identify and keep separate from other headers. The CacheConstants variable names remain unchanged, just their values have been changed. Also, these headers are now removed from the exchange after the cache operation is performed.

Div
classconfluenceTableSmall

Header

Description

CamelCacheOperation

The operation to be performed on the cache. The valid options are

  • CamelCacheGet
  • CamelCacheCheck
  • CamelCacheAdd
  • CamelCacheUpdate
  • CamelCacheDelete
  • CamelCacheDeleteAll

CamelCacheKey

The cache key used to store the Message in the cache. The cache key is optional if the CamelCacheOperation is CamelCacheDeleteAll

Wiki Markup
{div:class=confluenceTableSmall} || Header || Description || | {{CamelCacheOperation}} | The operation to be performed on the cache. The valid options are - CamelCacheGet - CamelCacheCheck - CamelCacheAdd - CamelCacheUpdate - CamelCacheDelete - CamelCacheDeleteAll | | {{CamelCacheKey}} | The cache key used to store the Message in the cache. The cache key is optional if the CamelCacheOperation is CamelCacheDeleteAll | {div}

The CamelCacheAdd and CamelCacheUpdate operations support additional headers:

Div
classconfluenceTableSmall

Header

Type

Description

CamelCacheTimeToLive

Integer

Camel

Wiki Markup
{div:class=confluenceTableSmall} || Header || Type || Description || | {{CamelCacheTimeToLive}} | {{Integer}} | *Camel

2.11:

*

Time

to

live

in

seconds. | | {{CamelCacheTimeToIdle}} | {{Integer}} | *Camel

seconds.

CamelCacheTimeToIdle

Integer

Camel 2.11:

*

Time

to

idle

in

seconds.

| | {{CamelCacheEternal}} | {{Boolean}} | *Camel

CamelCacheEternal

Boolean

Camel 2.11:

*

Whether

the

content

is

eternal.

| {div}

Cache Producer

Sending data to the cache involves the ability to direct payloads in exchanges to be stored in a pre-existing or created-on-demand cache. The mechanics of doing this involve

...