アノテーションインターフェース EnableJdbcHttpSession
@RetentionSE(RUNTIMESE)
@TargetSE(TYPESE)
@DocumentedSE
@Import(JdbcHttpSessionConfiguration.class)
public @interface EnableJdbcHttpSession
このアノテーションを
@Configuration
クラスに追加して、SessionRepositoryFilter
を springSessionRepositoryFilter
という名前の Bean として公開し、リレーショナルデータベースによってバックアップします。アノテーションを利用するには、単一の DataSource
SE を指定する必要があります。例:@Configuration(proxyBeanMethods = false) @EnableJdbcHttpSession public class JdbcHttpSessionConfig { @Bean public DataSource dataSource() { return new EmbeddedDatabaseBuilder() .setType(EmbeddedDatabaseType.H2) .addScript("org/springframework/session/jdbc/schema-h2.sql") .build(); } @Bean public PlatformTransactionManager transactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } }より高度な構成では、代わりに
JdbcHttpSessionConfiguration
を継承できます。データアクセス関連の関心事を構成する方法の詳細については、 Spring Framework リファレンスドキュメントを参照してください。- 導入:
- 1.2.0
- 関連事項:
オプション要素のサマリー
オプション要素修飾子と型オプションの要素説明期限切れのセッションクリーンアップジョブの cron 式。セッションのフラッシュモード。int
秒単位のセッションタイムアウト。セッションの保存モード。Spring Session がセッションを格納するために使用するデータベーステーブルの名前。
要素の詳細
maxInactiveIntervalInSeconds
int maxInactiveIntervalInSeconds秒単位のセッションタイムアウト。デフォルトでは、1800 秒(30 分)に設定されています。これは負でない整数である必要があります。- 戻り値:
- 有効期限が切れる前にセッションを非アクティブにできる秒数
- デフォルト:
- 1800
tableName
StringSE tableNameSpring Session がセッションを格納するために使用するデータベーステーブルの名前。- 戻り値:
- データベーステーブル名
- デフォルト:
- "SPRING_SESSION"
cleanupCron
StringSE cleanupCron期限切れのセッションクリーンアップジョブの cron 式。デフォルトでは、毎分実行されます。- 戻り値:
- セッションクリーンアップ cron 式
- 導入:
- 2.0.0
- デフォルト:
- "0 * * * * *"
flushMode
FlushMode flushModeセッションのフラッシュモード。デフォルトはON_SAVE
で、SessionRepository.save(Session)
が呼び出されたときにのみバッキングデータベースを更新します。Web 環境では、これは HTTP レスポンスがコミットされる直前に発生します。値を
IMMEDIATE
に設定すると、セッションへの更新がデータベースにすぐに書き込まれるようになります。- 戻り値:
- フラッシュモード
- 導入:
- 2.2.0
- デフォルト:
- ON_SAVE
saveMode
SaveMode saveModeセッションの保存モード。デフォルトはSaveMode.ON_SET_ATTRIBUTE
で、セッションに加えられた変更のみを保存します。- 戻り値:
- 保存モード
- 導入:
- 2.2.0
- デフォルト:
- ON_SET_ATTRIBUTE