public class DataCacheExpiringImpl extends java.lang.Object implements DataCache, ScheduleHandleCallback
The cache reference type indicates which backing Map is used: Weak type uses the WeakHashMap, Soft type uses the apache commons ReferenceMap, and Hard type simply uses a HashMap.
Constructor and Description |
---|
DataCacheExpiringImpl(double maxAgeSec,
double purgeIntervalSec,
ConfigurationCacheReferenceType cacheReferenceType,
SchedulingService schedulingService,
ScheduleSlot scheduleSlot,
EPStatementAgentInstanceHandle epStatementAgentInstanceHandle)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
EventTable[] |
getCached(java.lang.Object[] lookupKeys)
Ask the cache if the keyed value is cached, returning a list or rows if the key is in the cache,
or returning null to indicate no such key cached.
|
boolean |
isActive()
Returns true if the cache is active and currently caching, or false if the cache is inactive and not currently caching
|
void |
put(java.lang.Object[] lookupKeys,
EventTable[] rows)
Puts into the cache a key and a list of rows, or an empty list if zero rows.
|
void |
scheduledTrigger(ExtensionServicesContext extensionServicesContext)
Callback that is invoked as indicated by a schedule added to the scheduling service.
|
public DataCacheExpiringImpl(double maxAgeSec, double purgeIntervalSec, ConfigurationCacheReferenceType cacheReferenceType, SchedulingService schedulingService, ScheduleSlot scheduleSlot, EPStatementAgentInstanceHandle epStatementAgentInstanceHandle)
maxAgeSec
- is the maximum age in secondspurgeIntervalSec
- is the purge interval in secondscacheReferenceType
- indicates whether hard, soft or weak references are used in the cacheschedulingService
- is a service for call backs at a scheduled time, for purgingscheduleSlot
- slot for scheduling callbacks for this cacheepStatementAgentInstanceHandle
- is the statements-own handle for use in registering callbacks with servicespublic EventTable[] getCached(java.lang.Object[] lookupKeys)
DataCache
public void put(java.lang.Object[] lookupKeys, EventTable[] rows)
DataCache
The put method is designed to be called when the cache does not contain a key as determined by the get method. Implementations typically simply overwrite any keys put into the cache that already existed in the cache.
public boolean isActive()
DataCache
public void scheduledTrigger(ExtensionServicesContext extensionServicesContext)
ScheduleHandleCallback
scheduledTrigger
in interface ScheduleHandleCallback
extensionServicesContext
- is a marker interface for providing custom extension services
passed to the triggered class