public synchronized void close()
   {

      if (closed)
      {
         throw new IllegalStateException("Session provider already closed");
      }

      closed = true;

      for (ExtendedSession session : (ExtendedSession[])cache.values().toArray(
         new ExtendedSession[cache.values().size()]))
         session.logout();

      // the cache already empty (logout listener work, see onCloseSession())
      // just to be sure
      cache.clear();
   }
public synchronized void close ( ) { if ( closed ) { throw new IllegalStateException ( "Session provider already closed" ) ; } closed = true ; for ( ExtendedSession session : ( ExtendedSession [ ] ) cache . values ( ) . toArray ( new ExtendedSession [ cache . values ( ) . size ( ) ] ) ) session . logout ( ) ; cache . clear ( ) ; }
Calls logout() method for all cached sessions.

Session will be removed from cache by the listener (this provider) via
ExtendedSession.logout().