<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 28 Jan 2013, at 15:22, Vladimir Blagojevic <<a href="mailto:vblagoje@redhat.com">vblagoje@redhat.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 13-01-28 7:31 AM, Manik Surtani
wrote:<br>
</div>
<blockquote cite="mid:97177BBD-FAF3-45AE-ACF2-E83FD827AE8D@redhat.com" type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div>
<blockquote type="cite">
<div dir="ltr"><p>If you're ok with changing the core, you could add a
getValue() method to CacheEntryCreatedEvent, and an
isCreated() method to CacheEntryModifiedEvent (as I
suppose you don't want to call the updates listener when
an entry is created). Both changes should be
backwards-compatible.<br>
</p>
</div>
</blockquote>
<div>That could work.</div>
</div>
</blockquote>
<br>
The second one Manik? As I was researching how to do this I found
you were against the first option
<a class="moz-txt-link-freetext" href="https://issues.jboss.org/browse/ISPN-881">https://issues.jboss.org/browse/ISPN-881</a><br></div></blockquote><div><br></div><div>Yes, isCreated().</div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">
<blockquote cite="mid:97177BBD-FAF3-45AE-ACF2-E83FD827AE8D@redhat.com" type="cite">
<div>
<blockquote type="cite">
<div dir="ltr"><div>
<br class="webkit-block-placeholder"></div><p dir="ltr"><br>
> The second I have no idea how to implement as we do
not have<br>
> CacheEntryExpired event. True, spec is not rigorous
that such an event<br>
> has to be fired immediately after an entry has
expired but eventually<br>
> (which might be on access). Either way, I am all ears
on suggestions how<br>
> to implement this one.<br>
></p><p>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).<br>
</p>
</div>
</blockquote>
<div>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.</div>
</div>
</blockquote>
<br>
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..... <br></div></blockquote><div><br></div><div>Be mindful of performance considerations here - this could get very expensive.</div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">
<br>
Regards,<br>
Vladimir<br>
</div>
_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>https://lists.jboss.org/mailman/listinfo/infinispan-dev</blockquote></div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org">manik@jboss.org</a></div><div><a href="http://twitter.com/maniksurtani">twitter.com/maniksurtani</a></div><div><br></div><div><div>Platform Architect, JBoss Data Grid</div><div><a href="http://red.ht/data-grid">http://red.ht/data-grid</a></div></div></div></span></div></span></div></span>
</div>
<br></body></html>