javax.net.ssl

接口
异常
public interface SSLSessionContext

SSLSessionContext 表示与单个实体关联的 SSLSession。例如,它可以与同时参与多个会话的服务器或客户端相关联。

不是所有的环境都包含会话上下文。

下面是影响会话的存储方式的 SSLSessionContext 参数:

  • 可以将会话设置为经过指定的时间限制后终止。
  • 可以限制可以存储在上下文中的会话数。
可以根据会话的 id 获取会话, SSLSessionContext 中的所有会话 id 可以被列入表中。

从以下版本开始:
1.4
另请参见:
SSLSession

方法摘要
 Enumeration getIds()
          返回在此 SSLSessionContext 下分组的所有会话 id 的 Enumeration。
 SSLSession getSession(byte[] sessionId)
          返回绑定到指定会话 id 的 SSLSession
 int getSessionCacheSize()
          返回用来存储在此 SSLSessionContext 下分组的 SSLSession 对象的缓存大小。
 int getSessionTimeout()
          返回在此 SSLSessionContext 下分组的 SSLSession 对象的超时值限制。
 void setSessionCacheSize(int size)
          设置用来存储在此 SSLSessionContext 下分组的 SSLSession 对象的缓存大小。
 void setSessionTimeout(int seconds)
          设置在此 SSLSessionContext 下分组的 SSLSession 对象的超时值限制。
 

方法详细信息

getSession

SSLSession getSession(byte[] sessionId)
返回绑定到指定会话 id 的 SSLSession

参数:
sessionId - Session 标识符
返回:
SSLSession;如果指定的会话 id 没有指向有效的 SLSession,则返回 null。
抛出:
NullPointerException - 如果 sessionId 为 null。

getIds

Enumeration getIds()
返回在此 SSLSessionContext 下分组的所有会话 id 的 Enumeration。

返回:
所有 Session id 枚举。

setSessionTimeout

void setSessionTimeout(int seconds)
                       throws IllegalArgumentException
设置在此 SSLSessionContext 下分组的 SSLSession 对象的超时值限制。

如果把超时值限制设置为't' 秒,则在会话创建 't' 秒后超过超时值限制。当已经超过会话的超时值限制时,SSLSession 对象将变成无效的并且后来的连接不能恢复和重新加入此会话。当此 SSLSessionContext 的超时值改变时,将立即检查会话是否超过超时值。

参数:
seconds - 以秒为单位的新的会话超时值;零表示没有限制。
抛出:
IllegalArgumentException - 如果指定的超时值 < 0。
另请参见:
getSessionTimeout()

getSessionTimeout

int getSessionTimeout()
返回在此 SSLSessionContext 下分组的 SSLSession 对象的超时值限制。

如果把超时值限制设置为't' 秒,则在会话创建 't' 秒后超过超时值限制。当已经超过会话的超时值限制时,SSLSession 对象将变成无效的并且后来的连接不能恢复和重新加入此会话。当此 SSLSessionContext 的超时值改变时,将立即检查会话是否超过超时值。

返回:
以秒为单位的会话超时值;零表示没有限制。
另请参见:
setSessionTimeout(int)

setSessionCacheSize

void setSessionCacheSize(int size)
                         throws IllegalArgumentException
设置用来存储在此 SSLSessionContext 下分组的 SSLSession 对象的缓存大小。

参数:
size - 新的会话缓存大小限制;零表示没有限制。
抛出:
IllegalArgumentException - 如果指定的大小 < 0。
另请参见:
getSessionCacheSize()

getSessionCacheSize

int getSessionCacheSize()
返回用来存储在此 SSLSessionContext 下分组的 SSLSession 对象的缓存大小。

返回:
会话缓存大小;零表示没有大小限制。
另请参见:
setSessionCacheSize(int)