TomEE
TomEE

Reputation: 598

Can I retrieve an expired cache entry from an Infinispan server listener using @ClientCacheEntryExpired?

I am modifying an embedded Infinispan application to use the Infinispan server and HotRod client. The embedded implementation relied on detecting cache expiration events in a listener. Using the "pre" event, I am able to read the expired entry and update external data.

This functionality spared me from having to write my own reaper, but as far as I can tell the HotRod client implementation does not provide the same capability. I can detect the expiration with a @ClientCacheEntryExpired, but apparently the event fires after the entry is removed from the cache and the only data available to the listener is the key.

Is there a (simple) way to duplicate the embedded behavior? Or will I have to implement my own expiration reaper?

Upvotes: 0

Views: 217

Answers (1)

pruivo
pruivo

Reputation: 1334

You can customize the event (see Documentation) to include the removed value, but the event will always be triggered after the removal.

Offtopic; the Infinispan server can communicate with a JDBC store (Documentation) and you can configure eviction with write-behind persistence to store your data externally (see Eviction and Write-Behing documentation).

Upvotes: 2

Related Questions