I am using Infinispan to store a stateMachine. All requests to my system (IN in telecommunication which handles the mobiles calls) will contain a session Id. Based on the session Id I will fetch the state machine from cache and does some operation. When final response comes I will write cdr based on the stateMachine data then removes it from cache.
But in actual scenario due to some network problem I may not always get the final request for a session Id. For all session's the CDR is mandatory (It is used for Billing). If an expiration listener were present in Infinispan, I can write the CDR at the time of stateMachine expiry.
How can I achieve this without expiration event? Any alternative solutions?