Path: csiph.com!usenet.pasdenom.info!gegeweb.org!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Jim Janney Newsgroups: comp.lang.java.programmer Subject: Re: Caching with timed expiry Date: Wed, 09 May 2012 13:14:36 -0600 Organization: objurgating the centipede Lines: 31 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: mx04.eternal-september.org; posting-host="PnllQd880uOddfy6hsxHuQ"; logging-data="10824"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+e5rprHAsvkzHFAAnP8fjA" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:DIt2xmVvStmOsRGh+Rd+K7PJcYA= sha1:evKBjOTNUByXhWVxbqsuufcYZNs= Xref: csiph.com comp.lang.java.programmer:14452 Sebastian writes: > Hello there, > > does anyone of a cache / map implementation in which entries > expire after a fixed time? By which I mean that after a cnfigurable > delay after an enzry has been caches,it is automatically removed > from the cache and some clean-up action (perhaps event-triggred) > can be taken. > > My scenario is this: A GUI client searches an LDAP server using > the virtual list view control. The server requires all requests > to be made over the same connection. So my middleware component > will need to check out that connection from a pool and cache it, > using the ASN1 cookie sent by the client as a key. > > Trouble is, if the client never signals that it won't request > another page (e. g. because it crashes), I need to auto-release > the LDAP server connection to the connection pool to prevent leakage. > I thought that a ready-made cache with timed expiry would come in handy. > If there is no such beast, any ideas for possible approaches? > > -- Sebastian Look at subclassing java.util.LinkedHashMap and overriding the removeEldestEntry method to check an expiration time. The removal time will not be precise (since it's triggered when something else is looked up) but it may be good enough. -- Jim Janney