public interface SSLSessionContext
SSLSessionContext
represents a set of
SSLSession
s 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:
SSLSessionContext
can be listed.SSLSession
Modifier and Type | Method and 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 . |
SSLSession getSession(byte[] sessionId)
SSLSession
bound to the specified session id.sessionId
- the Session identifierSSLSession
or null if
the specified session id does not refer to a valid SSLSession.NullPointerException
- if sessionId
is null.Enumeration<byte[]> getIds()
SSLSessionContext
.void setSessionTimeout(int seconds) throws IllegalArgumentException
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
.
getSessionCacheSize
and getSessionTimeout
for
more information. Applications should consider their
performance requirements and override the defaults if necessary.seconds
- the new session timeout limit in seconds; zero means
there is no limit.IllegalArgumentException
- if the timeout specified is < 0
.getSessionTimeout()
int getSessionTimeout()
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
.
setSessionTimeout
method, or if not set, a default
value of 86400 seconds (24 hours).setSessionTimeout(int)
void setSessionCacheSize(int size) throws IllegalArgumentException
SSLSession
objects grouped under this SSLSessionContext
.getSessionCacheSize
and getSessionTimeout
for
more information. Applications should consider their
performance requirements and override the defaults if necessary.size
- the new session cache size limit; zero means there is no
limit.IllegalArgumentException
- if the specified size is < 0
.getSessionCacheSize()
int getSessionCacheSize()
SSLSession
objects grouped under this SSLSessionContext
.setSessionCacheSize
method, or if not set, the
value of the
system property. If neither is set, it returns a default
value of 20480.setSessionCacheSize(int)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.