|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.ehcache.jcache.JCacheListenerAdaptor
public class JCacheListenerAdaptor
This adaptor permits JCACHE CacheListener
s to be registered as Ehcache CacheEventListener
s.
Constructor Summary | |
---|---|
JCacheListenerAdaptor(net.sf.jsr107cache.CacheListener cacheListener)
Creates an adaptor that delegates to a CacheListener |
Method Summary | |
---|---|
java.lang.Object |
clone()
Creates a clone of this listener. |
void |
dispose()
Give the listener a chance to cleanup and free resources when no longer needed. |
net.sf.jsr107cache.CacheListener |
getCacheListener()
Gets the underlying CacheListener |
void |
notifyElementEvicted(Ehcache cache,
Element element)
Called immediately after an element is evicted from the cache. |
void |
notifyElementExpired(Ehcache cache,
Element element)
Called immediately after an element is found to be expired. |
void |
notifyElementPut(Ehcache cache,
Element element)
Called immediately after an element has been put into the cache. |
void |
notifyElementRemoved(Ehcache cache,
Element element)
Called immediately after an element has been removed. |
void |
notifyElementUpdated(Ehcache cache,
Element element)
Called immediately after an element has been put into the cache and the element already existed in the cache. |
void |
notifyRemoveAll(Ehcache cache)
Called during Ehcache.removeAll() to indicate that the all
elements have been removed from the cache in a bulk operation. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JCacheListenerAdaptor(net.sf.jsr107cache.CacheListener cacheListener)
CacheListener
cacheListener
- the JCACHE listener.Method Detail |
---|
public void notifyElementRemoved(Ehcache cache, Element element) throws CacheException
Element
has been removed, only what was the key of the element is known.
This method delegates to onRemove. After the last element is removed, a call to onClear is also made.
notifyElementRemoved
in interface CacheEventListener
cache
- the cache emitting the notificationelement
- just deleted
CacheException
public void notifyElementPut(Ehcache cache, Element element) throws CacheException
Cache.put(net.sf.ehcache.Element)
method
will block until this method returns.
Implementers may wish to have access to the Element's fields, including value, so the element is provided.
Implementers should be careful not to modify the element. The effect of any modifications is undefined.
notifyElementPut
in interface CacheEventListener
cache
- the cache emitting the notificationelement
- the element which was just put into the cache.
CacheException
public void notifyElementUpdated(Ehcache cache, Element element) throws CacheException
Cache.put(net.sf.ehcache.Element)
method
will block until this method returns.
Implementers may wish to have access to the Element's fields, including value, so the element is provided.
Implementers should be careful not to modify the element. The effect of any modifications is undefined.
This method delegates to onPut in the underlying CacheListener, because JCACHE CacheListener does not
have update notifications.
notifyElementUpdated
in interface CacheEventListener
cache
- the cache emitting the notificationelement
- the element which was just put into the cache.
CacheException
public void notifyElementExpired(Ehcache cache, Element element)
Cache.remove(Object)
method will block until this method returns.
As the Element
has been expired, only what was the key of the element is known.
Elements are checked for expiry in ehcache at the following times:
Cache.DEFAULT_EXPIRY_THREAD_INTERVAL_SECONDS
notifyElementExpired
in interface CacheEventListener
cache
- the cache emitting the notificationelement
- the element that has just expired
Deadlock Warning: expiry will often come from the DiskStore
expiry thread. It holds a lock to the
DiskStorea the time the notification is sent. If the implementation of this method calls into a
synchronized Cache
method and that subsequently calls into DiskStore a deadlock will result.
Accordingly implementers of this method should not call back into Cache.public void notifyElementEvicted(Ehcache cache, Element element)
notifyElementEvicted
in interface CacheEventListener
cache
- the cache emitting the notificationelement
- the element that has just been evictedpublic void notifyRemoveAll(Ehcache cache)
Ehcache.removeAll()
to indicate that the all
elements have been removed from the cache in a bulk operation. The usual
notifyElementRemoved(net.sf.ehcache.Ehcache,net.sf.ehcache.Element)
is not called.
This notification exists because clearing a cache is a special case. It is often
not practical to serially process notifications where potentially millions of elements
have been bulk deleted.
Note: There is no analogue in JCACHE to this method. It is not possible to know what
elements were removed. Accordingly, no notification is done.
notifyRemoveAll
in interface CacheEventListener
cache
- the cache emitting the notificationpublic void dispose()
dispose
in interface CacheEventListener
public net.sf.jsr107cache.CacheListener getCacheListener()
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in interface CacheEventListener
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
- if the listener could not be cloned.
|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |