Hmm.
Ok, there was an old entry in my server.xml which starts the SingleSignOn.
That was an mistake by myself.

Without SingleSignOn there are no exceptions during logout.

Will make some test next days. Think that the exception is not
ok when I invalidate the session.



Peter Rossbach schrieb:

Hey,

a)    DeltaSession and StandardSession has the exact same behaviour.
b)    SingleSignOn valve can't detect invalidation with call isValid()
expiring flag is true at the exipre call. It set to false after SessionDestroy event is called. But before the event is fired, the isValid flag is set to false.

--- DeltaSession and StandardSession public boolean isValid() {

        if (this.expiring) {
            return true;
        }

        if (!this.isValid ) {
            return false;
        }
----

Only chance seams change lastAccessedTime condition
    public long getLastAccessedTime() {
        if (!expiring && !isValid) {
            throw new IllegalStateException(sm
.getString ("standardSession.getLastAccessedTime.ise"));

        }
        return (this.lastAccessedTime);

    }

or we must handle the ISE exception at SingleSignOn valve.

A testcase is very welcomed....

Peter


Am 27.01.2006 um 17:00 schrieb Filip Hanik - Dev Lists:

I can't implement the change you suggest as it could result in a circular loop, expire - fire event - last access -> isValid() -> expire -> fire event -> last access

I have added in the missing message for this event, if you are not happy with that solution, please provide a simple test case for me and I will make the adjustments

Filip


[EMAIL PROTECTED] wrote:

Hi there,

I've a little cluster with 4 Tomcats 5.5.12 running.
During tests I have found that exception while I
logged out a user on this cluster.

I hope this is the right Maillist for that problem...

java.lang.IllegalStateException: Cannot find message associated with key standardSession.getLastAccessedTime at org.apache.catalina.cluster.session.DeltaSession.getLastAccessedTime( DeltaSession.java:437) at org.apache.catalina.authenticator.SingleSignOn.sessionEvent (SingleSignOn.java:298) at org.apache.catalina.cluster.session.DeltaSession.fireSessionEvent (DeltaSession.java:1553) at org.apache.catalina.cluster.session.DeltaSession.expire (DeltaSession.java:735) at org.apache.catalina.cluster.session.DeltaSession.expire (DeltaSession.java:674) at org.apache.catalina.cluster.session.DeltaSession.expire (DeltaSession.java:662) at org.apache.catalina.cluster.session.DeltaSession.invalidate (DeltaSession.java:1068) at org.apache.catalina.cluster.session.DeltaSessionFacade.invalidate (DeltaSessionFacade.java:150)

I've searched the source-tree and changed the corresponding method from :
---------------
public long getLastAccessedTime() {
       if (!isValid) {
           throw new IllegalStateException(sm
                   .getString ("standardSession.getLastAccessedTime"));
   }
      return (this.lastAccessedTime);
}

to (now it will call the isValid()-method instead of the isValid field)

public long getLastAccessedTime() {
       if (!isValid()) {
           throw new IllegalStateException(sm
                   .getString ("standardSession.getLastAccessedTime"));

       }             return (this.lastAccessedTime);
}
-------------------

This fixed my logout process immediately.
The same problem was with Tomcat 5.5.15.

Is that a known bug? Has anyone fixed this problem in an offical patch?



------------------------------------------

regards,
   Tom Neumann / tone


"Der Heitere ist der Meister seiner Seele."

        William Shakespeare (1564 - 1616)



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to