|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CacheExtension
This is a general purpose mechanism to allow generic extensions to a Cache.
CacheExtensions are tied into the Cache lifecycle. For that reason this interface has the lifecycle methods. CacheExtensions are created using the CacheExtensionFactory which has acreateCacheCacheExtension()
method which takes as a parameter a Cache and
properties. It can thus call back into any public method on Cache, including, of course,
the load methods.
CacheExtensions are suitable for timing services, where you want to create a timer to
perform cache operations. The other way of adding Cache behaviour is to decorate a cache.
See BlockingCache
for an example of how to do
this.
Because a CacheExtension holds a reference to a Cache, the CacheExtension can do things
such as registering a CacheEventListener or even a CacheManagerEventListener, all from
within a CacheExtension, creating more opportunities for customisation.
Method Summary | |
---|---|
CacheExtension |
clone(Ehcache cache)
Creates a clone of this extension. |
void |
dispose()
Providers may be doing all sorts of exotic things and need to be able to clean up on dispose. |
Status |
getStatus()
|
void |
init()
Notifies providers to initialise themselves. |
Method Detail |
---|
void init()
CacheException
void dispose() throws CacheException
CacheException
CacheExtension clone(Ehcache cache) throws CloneNotSupportedException
cache
- the cache extended
CloneNotSupportedException
- if the extension could not be cloned.Status getStatus()
|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |