アノテーションインターフェース EnableSpringHttpSession
@RetentionSE(RUNTIMESE)
@TargetSE(TYPESE)
@DocumentedSE
@Import(SpringHttpSessionConfiguration.class)
public @interface EnableSpringHttpSession
このアノテーションを
@Configuration
クラスに追加して、SessionRepositoryFilter を "springSessionRepositoryFilter" という名前の Bean として公開し、ユーザー提供の SessionRepository
の実装によってサポートされます。アノテーションを活用するには、単一の SessionRepository
Bean を提供する必要があります。例:
@Configuration(proxyBeanMethods = false)
@EnableSpringHttpSession
public class SpringHttpSessionConfig {
@Bean
public MapSessionRepository sessionRepository() {
return new MapSessionRepository(new ConcurrentHashMap<>());
}
}
セッションの有効期限のためのインフラストラクチャは、すぐに使用できるように構成されていないことに注意することが重要です。これは、セッションの有効期限などが実装に大きく依存するためです。つまり、期限切れのセッションをクリーンアップする必要がある場合は、期限切れのセッションをクリーンアップする責任があります。
基本構成では、以下が提供されます。
- SessionRepositoryFilter - SessionRepository による HttpSession の実装で HttpServletRequest をラップする責任があります
- SessionEventHttpSessionListenerAdapter-Spring Session イベントを HttpSessionEvent に変換するロールを果たします。それが機能するためには、提供する SessionRepository の実装が
SessionCreatedEvent
とSessionDestroyedEvent
をサポートしている必要があります。
- 導入:
- 1.1