beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eddie O'Neil" <ekon...@gmail.com>
Subject page flow -- session locking tweak
Date Fri, 26 May 2006 17:58:04 GMT
All--

  I'm about to make a slight design change to the way NetUI does
user-wide locking.  This is currently done on the session, which works
often but not all the time depending on the implementation of the
HttpSession object.  In order to ensure that this works correctly on
all containers and session implementations, I'm going to add an
optional HttpSessionListener that will create a session-wide mutex
object that can be used to serialize a change in the session.

  This will be used in two places:
- where the DeferredSessionStorageHandler persists changes to the HttpSession
- where the NameService adds itself to an HttpSession

I don't expect any problems with this -- it's a reasonably simple
change.  If the HttpSessionListener isn't wired up, the implementation
will fall back to using the HttpSession.

This will affect the following code:
- add an o.a.b.n.p.HttpSessionMutexListener class that adds / removes
a private inner class Mutex object
- add an Object getSessionMutex(HttpSession session) method to
o.a.b.n.u.i.ServletUtils
- add a Stirng contasnt to ServletUtils that defines the key used to
store the mutex in the session.

This follows a pattern similar to that used in Spring to provide a
user-scoped lock that isn't the HttpSession object.

  Comments welcome.

Eddie

Mime
View raw message