anchor.diff:  |===
   // spring-boot-auto-configure options: END
   
  +== Camel Operations
  +This section lists all available operations, along with their header information.
  +
  +.Put Operations
  +[cols="40%,60%", frame="all", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.PUT
  +| *Context*: Embedded / Remote
  +
  +*Description*: Puts a key/value pair in the cache, optionally with expiration
  +
  +*Required Headers*: CamelInfinispanKey, CamelInfinispanValue
  +
  +*Optional Headers*: CamelInfinispanLifespanTime, CamelInfinispanLifespanTimeUnit, CamelInfinispanMaxIdleTime, CamelInfinispanMaxIdleTimeUnit, CamelInfinispanIgnoreReturnValues
  +
  +*Result Header*: CamelInfinispanOperationResult
  +
  +| InfinispanOperation.PUTASYNC
  +| *Description*: Asynchronously puts a key/value pair in the cache, optionally with expiration
  +
  +
  +| InfinispanOperation.PUTIFABSENT
  +| *Description*: Puts a key/value pair in the cache if it did not exist, optionally with expiration
  +
  +
  +| InfinispanOperation.PUTIFABSENTASYNC
  +| *Description*: Asynchronously puts a key/value pair in the cache if it did not exist, optionally with expiration
  +
  +|===
  +
  +.Put All Operations
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.PUTALL
  +| *Context*: Embedded / Remote
  +
  +*Description*: Adds multiple entries to a cache, optionally with expiration
  +
  +*Required Headers*: CamelInfinispanMap
  +
  +*Optional Headers*: CamelInfinispanLifespanTime, CamelInfinispanLifespanTimeUnit, CamelInfinispanMaxIdleTime, CamelInfinispanMaxIdleTimeUnit
  +
  +*Result Header*: None
  +
  +| CamelInfinispanOperation.PUTALLASYNC
  +| *Description*: Asynchronously adds multiple entries to a cache, optionally with expiration
  +
  +|===
  +
  +.Get Operations
  +[cols="40%,60%", frame="all", options="header"]
  +|===
  +|Operation Name
  +|Description
  +
  +| InfinispanOperation.GET
  +| *Context*: Embedded / Remote
  +
  +*Description*: Retrieves the value associated with a specific key from the cache
  +
  +*Required Headers*: CamelInfinispanKey
  +
  +*Optional Headers*: None
  +
  +*Result Header*: None
  +
  +| InfinispanOperation.GETORDEFAULT
  +| *Context*: Embedded / Remote
  +
  +*Description*: Retrieves the value, or default value, associated with a specific key from the cache
  +
  +*Required Headers*: CamelInfinispanKey
  +
  +*Optional Headers*: None
  +
  +*Result Header*: None
  +|===
  +
  +.Contains Key Operation
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.CONTAINSKEY
  +| *Context*: Embedded / Remote
  +
  +*Description*: Determines whether a cache contains a specific key
  +
  +*Required Headers*: CamelInfinispanKey
  +
  +*Optional Headers*: None
  +
  +*Result Header*: CamelInfinispanOperationResult
  +|===
  +
  +.Contains Value Operation
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.CONTAINSVALUE
  +| *Context*: Embedded / Remote
  +
  +*Description*: Determines whether a cache contains a specific value
  +
  +*Required Headers*: CamelInfinispanKey
  +
  +*Optional Headers*: None
  +
  +*Result Headers*: None
  +|===
  +
  +.Remove Operations
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.REMOVE
  +| *Context*: Embedded / Remote
  +
  +*Description*: Removes an entry from a cache, optionally only if the value matches a given one
  +
  +*Required Headers*: CamelInfinispanKey
  +
  +*Optional Headers*: CamelInfinispanValue
  +
  +*Result Header*: CamelInfinispanOperationResult
  +
  +| InfinispanOperation.REMOVEASYNC
  +| *Description*: Asynchronously removes an entry from a cache, optionally only if the value matches a given one
  +
  +|===
  +
  +.Replace Operations
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.REPLACE
  +| *Context*: Embedded / Remote
  +
  +*Description*: Conditionally replaces an entry in the cache, optionally with expiration
  +
  +*Required Headers*: CamelInfinispanKey, CamelInfinispanValue, CamelInfinispanOldValue
  +
  +*Optional Headers*: CamelInfinispanLifespanTime, CamelInfinispanLifespanTimeUnit, CamelInfinispanMaxIdleTime, CamelInfinispanMaxIdleTimeUnit, CamelInfinispanIgnoreReturnValues
  +
  +*Result Header*: CamelInfinispanOperationResult
  +
  +| InfinispanOperation.REPLACEASYNC
  +| *Description*: Asynchronously conditionally replaces an entry in the cache, optionally with expiration
  +
  +|===
  +
  +.Clear Operations
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.CLEAR
  +| *Context*: Embedded / Remote
  +
  +*Description*: Clears the cache
  +
  +*Required Headers*: None
  +
  +*Optional Headers*: None
  +
  +*Result Header*: None
  +
  +| InfinispanOperation.CLEARASYNC
  +| *Context*: Embedded / Remote
  +
  +*Description*: Asynchronously clears the cache
  +
  +*Required Headers*: None
  +
  +*Optional Headers*: None
  +
  +*Result Header*: None
  +|===
  +
  +.Size Operation
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.SIZE
  +| *Context*: Embedded / Remote
  +
  +*Description*: Returns the number of entries in the cache
  +
  +*Required Headers*: None
  +
  +*Optional Headers*: None
  +
  +*Result Header*: CamelInfinispanOperationResult
  +|===
  +
  +.Stats Operation
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.STATS
  +| *Context*: Embedded / Remote
  +
  +*Description*: Returns statistics about the cache
  +
  +*Required Headers*: None
  +
  +*Optional Headers*: None
  +
  +*Result Header*: CamelInfinispanOperationResult
  +|===
  +
  +.Query Operation
  +[cols="40%,60%", options="header"]
  +|===
  +| Operation Name
  +| Description
  +
  +| InfinispanOperation.QUERY
  +| *Context*: Remote
  +
  +*Description*: Executes a query on the cache
  +
  +*Required Headers*: CamelInfinispanQueryBuilder
  +
  +*Optional Headers*: None
  +
  +*Result Header*: CamelInfinispanOperationResult
  +|===
  +
  +[NOTE]
  +====
  +Any operations that take `CamelInfinispanIgnoreReturnValues` will receive a null result.
  +====
   
   
   
  
positive.code:     .setHeader(InfinispanConstants.KEY).constant("123")
      .to("infinispan?cacheContainerConfiguration=#cacheContainerConfiguration");
  ----
  
  
  == Using the Infinispan based idempotent repository
  
negative.code: </camelContext>
  ----
  
  == See Also
  
  * Configuring Camel
  