I've developed a Map decorator which passively evicts expired entries once their expiry time has been reached.
When putting an item in the map, the decorator calls the 'expiryTime' method, passing the key and the value as parameters, and uses the returned value as the expiry time for that entry. The default implementation of 'expiryTime' just assigns a time 60 seconds in the future for every entry, but subclasses can provide their own policy. When getting the value for an entry, its expiry time is checked, and if its greater than the current time, the value is returned. Otherwise, the entry is removed from the decorated map, and null is returned. Doing so, there's no need to have a separate, active thread (hence the name 'passive') to check expiry times - the check is performed on demand. I've developed it for my own use, but maybe this could be useful to others too. Any thoughts ? Regards, Elifarley --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
