On Tue, 13 Nov 2001, Tom Drake wrote:
> Date: Tue, 13 Nov 2001 13:21:20 -0800
> From: Tom Drake <[EMAIL PROTECTED]>
> Reply-To: Tomcat Developers List <[EMAIL PROTECTED]>,
> Tom Drake <[EMAIL PROTECTED]>
> To: Tomcat Developers List <[EMAIL PROTECTED]>
> Subject: Re: Tomcat: Distributed Session Management revisited
>
>
> ----- Original Message -----
> From: "Craig R. McClanahan" <[EMAIL PROTECTED]>
> To: "Tomcat Developers List" <[EMAIL PROTECTED]>; "Tom Drake"
> <[EMAIL PROTECTED]>
> Sent: Tuesday, November 13, 2001 11:41 AM
> Subject: Re: Tomcat: Distributed Session Management revisited
>
> | As you guys discuss this, don't forget a very important requirement in the
> | servlet specification with regards to distributable applications:
> |
> | [Servlet Spec 2.3, Section 7.7.2] "Within an application
> | marked as distributable, all requests that are part of a
> | session must be handled by one virtual machine at a time."
> |
> | In effect, this means that a session can be migrated to a different server
> | only "between" requests. On a failure of the server currently handling
> | the session, you could migrate it to a different server, but this
> | operation must be atomic.
> |
>
> This may be a stupid question, but how can we know when a given
> servlet container is 'done' with the session?
>
When the last Servlet.service() method returns (for a servlet 2.2
container), or additionally when the last Filter.doFilter() method returns
(for a servlet 2.3 container. That's the point at which the session is no
longer in the application's control.
> The problems of creating a network-wide 'semaphore' for each
> session are many and varied. We'd need to have support for
> time-outs. This may have some serious performance implications
> as well.
>
Some useful lessons should be available in the way that the mod_backhand
Apache module approaches these sorts of issues. It was presented at the
last two ApacheCons, or you can find references to it via search engines.
Craig
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>