This week's book giveaway is in the Testing forum. We're giving away four copies of The Way of the Web Tester: A Beginner's Guide to Automating Tests and have Jonathan Rasmusson on-line! See this thread for details.
I'm looking for some feedback on a working solution I've implemented that feels a bit clunky.
The basic requirement was to remove stale entries from a simple locking mechanisim if the user had logged off or timed out.
My solution (after a few suggestions from the websphere usenet group) was to implement a session binding listener and add one of these objects to each users session as they log in. (I use a global filter to test each request to ensure the users session contains a listener.)
The listener class has a static hashmap that stores a list of all logged on users. As bind and unbind events are fired the relevant user is added or removed from the list. A public method returns the current 'active' user list which we use to verify our lock entries.
Has anyone else tackled this kind of problem before?