I guess request.getSession() (aka request.getSession(false) ) gives you existing 
session
object.
I don't know how exactly orion implements it, but apparently there is still a valid
reference to session object after session.invalidate() is called. To supress it just 
use
request.getSession(true), it will sure create new session for you.

if (event instanceof LogoutEvent) {
     request.getSession().invalidate();
    HttpSession validSession = request.getSession(true);
    validSession.setAttribute(WebKeys.ModelManagerKey, mm);
}

~boris

Matt Bauer wrote:

> Indeed I was
>
> Matt
>
> Conrad Chan wrote:
>
> > I think he was trying to invalidate the existing session before setting the 
>attribute.
> >
> > Conrad
> >
> > -----Original Message-----
> > From: Boris Erukhimov [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, January 24, 2001 4:05 AM
> > To: Orion-Interest
> > Subject: Re: problem invalidating servlet
> >
> > Try this ...
> >
> > if (event instanceof LogoutEvent) {
> >      HttpSession validSession = request.getSession(true);
> >      validSession.setAttribute(WebKeys.ModelManagerKey, mm);
> > }
> >
> > ~boris
> >
> > Matt Bauer wrote:
> >
> > > I have this small bit of code that handles a log out.  What I want to do
> > > is invalidate the session and put a new on in its place.  The problem is
> > > when I try to set the attribute, I get an exception telling my the
> > > session is invalidated.  Am I missing something?
> > >
> > > if (event instanceof LogoutEvent) {
> > >      request.getSession().invalidate();
> > >      HttpSession validSession = request.getSession();
> > >      validSession.setAttribute(WebKeys.ModelManagerKey, mm);
> > > }
> > >
> > > Thanks
> > >
> > > M


Reply via email to