Spec-Zone.ru › OpenJDK 24

Интерфейс SSLSessionContext

public interface SSLSessionContext
Объект SSLSessionContext представляет набор SSLSession, связанных с одним объектом. Например, он может быть связан с сервером или клиентом, участвующими во многих сессиях одновременно.

Не все среды содержат контексты сессий. Например, бессостоятельные возобновления сессий.

Контексты сессий могут не содержать всех сессий. Например, бессостоятельные сессии не хранятся в контексте сессии.

Существуют SSLSessionContext параметра, которые влияют на способ хранения сессий:

  • Сессии могут истекать по истечении указанного лимита времени.
  • Количество сессий, которые могут храниться в контексте, может быть ограничено.
Сессия может быть извлечена по её идентификатору, и все идентификаторы сессий в SSLSessionContext могут быть перечислены.
Since:
1.4
См. также:
  • SSLSession

Краткое описание методов

Модификатор и тип Метод Описание
Enumeration<byte[]> getIds()
Возвращает перечисление всех известных идентификаторов сессий, сгруппированных под этим SSLSessionContext.
SSLSession getSession(byte[] sessionId)
Возвращает SSLSession, связанную с указанным идентификатором сессии.
int getSessionCacheSize()
Возвращает размер кэша, используемого для хранения SSLSession объектов, сгруппированных под этим SSLSessionContext.
int getSessionTimeout()
Возвращает лимит таймаута SSLSession объектов, сгруппированных под этим SSLSessionContext.
void setSessionCacheSize(int size)
Устанавливает размер кэша, используемого для хранения SSLSession объектов, сгруппированных под этим SSLSessionContext.
void setSessionTimeout(int seconds)
Устанавливает лимит таймаута для SSLSession объектов, сгруппированных под этим SSLSessionContext.

Подробное описание методов

getSession

SSLSession getSession(byte[] sessionId)
Возвращает SSLSession, связанную с указанным идентификатором сессии.
Параметры:
sessionId - идентификатор сессии
Возвращает:
SSLSession или null, если указанный идентификатор сессии не относится к корректной SSLSession.
Исключения:
NullPointerException - если sessionId равно null.

getIds

Enumeration<byte[]> getIds()
Возвращает перечисление всех известных идентификаторов сессий, сгруппированных под этим SSLSessionContext.

Контексты сессий могут не содержать всех сессий. Например, бессостоятельные сессии не хранятся в контексте сессии.

Возвращает:
перечисление всех идентификаторов сессии

setSessionTimeout

void setSessionTimeout(int seconds)
Устанавливает лимит таймаута для SSLSession объектов, сгруппированных под этим SSLSessionContext.

Если лимит таймаута установлен в 't' секунд, сессия превышает лимит таймаута через 't' секунд после её создания. Когда лимит таймаута превышен для сессии, объект SSLSession помечается так, что будущие соединения не смогут возобновить или присоединиться к сессии. Активные сессии могут продолжаться до тех пор, пока не предпринимаются операции возобновления и присоединения. Проверка сессий, превышающих лимит таймаута, производится немедленно при каждом изменении лимита таймаута для этого SSLSessionContext.

Примечание API:
Обратите внимание, что реализация JDK использует значения по умолчанию для размера кэша сессий и таймаута. См. getSessionCacheSize и getSessionTimeout для получения дополнительной информации. Приложения должны учитывать свои требования к производительности и переопределять значения по умолчанию при необходимости.
Параметры:
seconds - новый лимит таймаута сессии в секундах; ноль означает отсутствие ограничения.
Исключения:
IllegalArgumentException - если указанный таймаут < 0.
См. также:
  • getSessionTimeout()

getSessionTimeout

int getSessionTimeout()
Возвращает лимит таймаута SSLSession объектов, сгруппированных под этим SSLSessionContext.

Если лимит таймаута установлен в 't' секунд, сессия превышает лимит таймаута через 't' секунд после её создания. Когда лимит таймаута превышен для сессии, объект SSLSession помечается так, что будущие соединения не смогут возобновить или присоединиться к сессии. Активные сессии могут продолжаться до тех пор, пока не предпринимаются операции возобновления и присоединения. Проверка сессий, превышающих лимит таймаута, производится немедленно при каждом изменении лимита таймаута для этого SSLSessionContext.

Примечание реализации:
Реализация JDK возвращает таймаут сессии, установленный методом setSessionTimeout, или, если он не установлен, значение по умолчанию в 86400 секунд (24 часа).
Возвращает:
лимит таймаута сессии в секундах; ноль означает отсутствие ограничения.
См. также:
  • setSessionTimeout(int)

setSessionCacheSize

void setSessionCacheSize(int size)
Устанавливает размер кэша, используемого для хранения SSLSession объектов, сгруппированных под этим SSLSessionContext.
Примечание API:
Обратите внимание, что реализация JDK использует значения по умолчанию для размера кэша сессий и таймаута. См. getSessionCacheSize и getSessionTimeout для получения дополнительной информации. Приложения должны учитывать свои требования к производительности и переопределять значения по умолчанию при необходимости.
Параметры:
size - новый лимит размера кэша сессий; ноль означает отсутствие ограничения.
Исключения:
IllegalArgumentException - если указанный размер < 0.
См. также:
  • getSessionCacheSize()

getSessionCacheSize

int getSessionCacheSize()
Возвращает размер кэша, используемого для хранения SSLSession объектов, сгруппированных под этим SSLSessionContext.
Примечание реализации:
Реализация JDK возвращает размер кэша, установленный методом setSessionCacheSize, или, если он не установлен, значение системной переменной javax.net.ssl.sessionCacheSize. Если ни то, ни другое не установлено, возвращается значение по умолчанию 20480.
Возвращает:
размер кэша сессий; ноль означает отсутствие ограничения по размеру.
См. также:
  • setSessionCacheSize(int)

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/javax/net/ssl/SSLSessionContext.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API