Module java.base
Package javax.net.ssl

Interface SSLSessionContext



  • public interface SSLSessionContext
    A SSLSessionContext represents a set of SSLSessions associated with a single entity. For example, it could be associated with a server or client who participates in many sessions concurrently.

    Not all environments will contain session contexts.

    There are SSLSessionContext parameters that affect how sessions are stored:

    • Sessions can be set to expire after a specified time limit.
    • The number of sessions that can be stored in context can be limited.
    A session can be retrieved based on its session id, and all session id's in a SSLSessionContext can be listed.
    Since:
    1.4
    See Also:
    SSLSession
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Enumeration<byte[]> getIds​()
      Returns an Enumeration of all session id's grouped under this SSLSessionContext.
      SSLSession getSession​(byte[] sessionId)
      Returns the SSLSession bound to the specified session id.
      int getSessionCacheSize​()
      Returns the size of the cache used for storing SSLSession objects grouped under this SSLSessionContext.
      int getSessionTimeout​()
      Returns the timeout limit of SSLSession objects grouped under this SSLSessionContext.
      void setSessionCacheSize​(int size)
      Sets the size of the cache used for storing SSLSession objects grouped under this SSLSessionContext.
      void setSessionTimeout​(int seconds)
      Sets the timeout limit for SSLSession objects grouped under this SSLSessionContext.
    • Method Detail

      • getSession

        SSLSession getSession​(byte[] sessionId)
        Returns the SSLSession bound to the specified session id.
        Parameters:
        sessionId - the Session identifier
        Returns:
        the SSLSession or null if the specified session id does not refer to a valid SSLSession.
        Throws:
        NullPointerException - if sessionId is null.
      • getIds

        Enumeration<byte[]> getIds​()
        Returns an Enumeration of all session id's grouped under this SSLSessionContext.
        Returns:
        an enumeration of all the Session id's
      • setSessionTimeout

        void setSessionTimeout​(int seconds)
                        throws IllegalArgumentException
        Sets the timeout limit for SSLSession objects grouped under this SSLSessionContext.

        If the timeout limit is set to 't' seconds, a session exceeds the timeout limit 't' seconds after its creation time. When the timeout limit is exceeded for a session, the SSLSession object is invalidated and future connections cannot resume or rejoin the session. A check for sessions exceeding the timeout is made immediately whenever the timeout limit is changed for this SSLSessionContext.

        Parameters:
        seconds - the new session timeout limit in seconds; zero means there is no limit.
        Throws:
        IllegalArgumentException - if the timeout specified is < 0.
        See Also:
        getSessionTimeout()
      • getSessionTimeout

        int getSessionTimeout​()
        Returns the timeout limit of SSLSession objects grouped under this SSLSessionContext.

        If the timeout limit is set to 't' seconds, a session exceeds the timeout limit 't' seconds after its creation time. When the timeout limit is exceeded for a session, the SSLSession object is invalidated and future connections cannot resume or rejoin the session. A check for sessions exceeding the timeout limit is made immediately whenever the timeout limit is changed for this SSLSessionContext.

        Returns:
        the session timeout limit in seconds; zero means there is no limit.
        See Also:
        setSessionTimeout(int)
      • setSessionCacheSize

        void setSessionCacheSize​(int size)
                          throws IllegalArgumentException
        Sets the size of the cache used for storing SSLSession objects grouped under this SSLSessionContext.
        Parameters:
        size - the new session cache size limit; zero means there is no limit.
        Throws:
        IllegalArgumentException - if the specified size is < 0.
        See Also:
        getSessionCacheSize()
      • getSessionCacheSize

        int getSessionCacheSize​()
        Returns the size of the cache used for storing SSLSession objects grouped under this SSLSessionContext.
        Returns:
        size of the session cache; zero means there is no size limit.
        See Also:
        setSessionCacheSize(int)