Class SessionManager


  • public class SessionManager
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Application app  
      protected java.util.Hashtable sessions  
    • Constructor Summary

      Constructors 
      Constructor Description
      SessionManager()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected long cleanupSessions​(long lastSessionCleanup)
      Purge sessions that have not been used for a certain amount of time.
      int countSessions()
      Returns the number of currenty active sessions.
      Session createSession​(java.lang.String sessionId)  
      void discardSession​(Session session)
      Remove the session from the sessions-table and logout the user.
      java.util.List getActiveUsers()
      Return a list of Helma nodes (HopObjects - the database object representing the user, not the session object) representing currently logged in users.
      Session getSession​(java.lang.String sessionId)  
      java.util.Map getSessions()
      Return the whole session map.
      java.util.List getSessionsForUsername​(java.lang.String username)
      Return an array of SessionBean objects currently associated with a given Helma user.
      void init​(Application app)  
      void loadSessionData​(java.io.File f, ScriptingEngine engine)
      loads the serialized session table from a given file or from dbdir/sessions
      void registerSession​(Session session)  
      void shutdown()  
      void storeSessionData​(java.io.File f, ScriptingEngine engine)
      Dump session state to a file.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • sessions

        protected java.util.Hashtable sessions
    • Constructor Detail

      • SessionManager

        public SessionManager()
    • Method Detail

      • shutdown

        public void shutdown()
      • createSession

        public Session createSession​(java.lang.String sessionId)
      • getSession

        public Session getSession​(java.lang.String sessionId)
      • registerSession

        public void registerSession​(Session session)
      • getSessions

        public java.util.Map getSessions()
        Return the whole session map. We return a clone of the table to prevent actual changes from the table itself, which is managed by the application. It is safe and allowed to manipulate the session objects contained in the table, though.
      • countSessions

        public int countSessions()
        Returns the number of currenty active sessions.
      • discardSession

        public void discardSession​(Session session)
        Remove the session from the sessions-table and logout the user.
      • getSessionsForUsername

        public java.util.List getSessionsForUsername​(java.lang.String username)
        Return an array of SessionBean objects currently associated with a given Helma user.
      • getActiveUsers

        public java.util.List getActiveUsers()
        Return a list of Helma nodes (HopObjects - the database object representing the user, not the session object) representing currently logged in users.
      • storeSessionData

        public void storeSessionData​(java.io.File f,
                                     ScriptingEngine engine)
        Dump session state to a file.
        Parameters:
        f - the file to write session into, or null to use the default sesssion store.
      • loadSessionData

        public void loadSessionData​(java.io.File f,
                                    ScriptingEngine engine)
        loads the serialized session table from a given file or from dbdir/sessions
      • cleanupSessions

        protected long cleanupSessions​(long lastSessionCleanup)
        Purge sessions that have not been used for a certain amount of time. This is called by run().
        Parameters:
        lastSessionCleanup - the last time sessions were purged
        Returns:
        the updated lastSessionCleanup value