Caching APIs Overview of Oracle CEP Cache Configuration

12-8 Oracle Complex Event Processing Developers Guide cache namesecond-cache-idname ... cache caching-system 6. For each cache, optionally add the following elements that take simple data types to configure the cache: ■ max-size : The number of cache elements in memory after which evictionpaging occurs. The maximum cache size is 2 31 -1 entries; default is 64. ■ eviction-policy : The eviction policy to use when max-size is reached. Supported values are: FIFO, LRU, LFU, and NRU; default value is LFU. ■ time-to-live: The maximum amount of time, in milliseconds, that an entry is cached. Default value is infinite. ■ idle-time: Amount of time, in milliseconds, after which cached entries are actively removed from the cache. Default value is infinite. ■ work-manager-name : The work manager to be used for all asynchronous operations. The value of this element corresponds to the name child element of the work-manager element in the servers config.xml configuration file. For more information, see Section F.44, work-manager . For example: caching-system namecaching-system-idname cache namecache-idname max-size100000max-size eviction-policyLRUeviction-policy time-to-live3600time-to-live cache caching-system 7. Optionally add either write-through or write-behind as a child element of cache to specify synchronous or asynchronous writes to the cache store, respectively. By default, writes to the store are synchronous rite-through which means that as soon as an entry is created or updated the write occurs. If you specify the write-behind element, then the cache store is invoked from a separate thread after a create or update of a cache entry. Use the following optional child elements to further configure the asynchronous writes to the store: ■ work-manager-name : The work manager that handles asynchronous writes to the cache store. If a work manager is specified for the cache itself, this value overrides it for store operations only. The value of this element corresponds to the name child element of the work-manager element in the servers config.xml configuration file. For more information, see Section F.44, work-manager . ■ batch-size : The number of updates that are picked up from the store buffer to write back to the backing store. Default value is 1. ■ buffer-size : The size of the internal store buffer that temporarily holds the asynchronous updates that need to be written to the store. Default value is 100. Configuring Caching 12-9 ■ buffer-write-attempts : The number of attempts that the user thread makes to write to the store buffer. The user thread is the thread that creates or updates a cache entry. If all attempts by the user thread to write to the store buffer fail, it will invoke the store synchronously. Default value is 1. ■ buffer-write-timeout : The time in milliseconds that the user thread waits before aborting an attempt to write to the store buffer. The attempt to write to the store buffer fails only in case the buffer is full. After the timeout, further attempts may be made to write to the buffer based on the value of buffer-write-attempts. Default value is 100. For example: caching-system namecaching-system-idname cache namecache-idname max-size100000max-size eviction-policyLRUeviction-policy time-to-live3600time-to-live write-behind buffer-size200buffer-size buffer-write-attempts2buffer-write-attempts buffer-write-timeout200buffer-write-timeout write-behind cache caching-system 8. Optionally add a cache element listeners child element to configure the behavior of components that listen to the cache. Use the asynchronous Boolean attribute to specify whether listeners should be invoked: ■ asynchronously: true. ■ synchronously: false, which means listeners are invoked synchronously Default. The listeners element has a single child element, work-manager-name, that specifies the work manager to be used for asynchronously invoking listeners. This value is ignored if synchronous invocations are enabled. If a work manager is specified for the cache itself, this value overrides it for invoking listeners only. The value of this element corresponds to the work-manager element name child element in the Oracle CEP server config.xml configuration file. For example: caching-system namecaching-system-idname cache namecache-idname max-size100000max-size eviction-policyLRUeviction-policy time-to-live3600time-to-live write-behind buffer-size200buffer-size buffer-write-attempts2buffer-write-attempts buffer-write-timeout200buffer-write-timeout write-behind listeners asynchronous=true work-manager-namecachingWMwork-manager-name