>>>> 
>>>> > The second I have no idea how to implement as we do not have
>>>> > CacheEntryExpired event. True, spec is not rigorous that such an event
>>>> > has to be fired immediately after an entry has expired but eventually
>>>> > (which might be on access). Either way, I am all ears on suggestions how
>>>> > to implement this one.
>>>> >
>>>> 
>>>> I guess @CacheEntryEvicted/@CacheEntriesEvicted would be the closest thing 
>>>> we have in Infinispan. But you can't check in the listener if the entry 
>>>> was evicted because it expired or because there wasn't enough space in the 
>>>> data container (yet).
>>> There could definitely be something clever we could do here.  Adding the 
>>> (expired or evicted) entry to a queue for later notification.  But that 
>>> would definitely need to be something we explicitly enable rather than have 
>>> running all the time, since it kinda defeats the purpose of evicting 
>>> something to save memory only to have it put in a different queue elsewhere 
>>> until an event is fired.
>> 
>> Exactly! One thing we could do is what RI does. Check for expired on entry 
>> access from JSR module and during normal expired cleanup cycle..... 
> 
> Be mindful of performance considerations here - this could get very expensive.
> 
> 
> Exactly. I don't think you can use a queue for later notification, because 
> you also have to cancel the notification if the user updates the same key 
> again. I mean if an entry was supposed to expire at 12:00 and the user did a 
> put at 12:59 with expiration time 12:30, then he shouldn't get an expired 
> notification at 12:00 - even if the entry was evicted in the meantime.


Yes; definitely not a simple thing to do.
--
Manik Surtani
ma...@jboss.org
twitter.com/maniksurtani

Platform Architect, JBoss Data Grid
http://red.ht/data-grid

_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to