Skip to content

Conversation

seung-hun-h
Copy link

This PR migrates RedisIndexedSessionRepository and ReactiveRedisIndexedSessionRepository from DisposableBean to SmartLifecycle to resolve compatibility issues with Spring Data Redis connection factories. The change ensures proper shutdown ordering and prevents Redis connection errors during application shutdown.


Changes

  • Replace DisposableBean with SmartLifecycle in Redis session repositories
  • Add configurable lifecycle phase (default: Integer.MAX_VALUE / 2)
  • Add unit tests for lifecycle behavior

Related Issue

Fixes #3435

Replace DisposableBean with SmartLifecycle in RedisIndexedSessionRepository
and ReactiveRedisIndexedSessionRepository to improve compatibility with
Spring Data Redis connection factories.

Fixes spring-projects#3435

Signed-off-by: seung-hun-h <[email protected]>
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Aug 13, 2025
@seung-hun-h seung-hun-h force-pushed the feature/redis-disposalbean-to-lifecycle-3.3.x branch from 1d5b7d4 to cdca5cb Compare August 13, 2025 05:31
@seung-hun-h seung-hun-h changed the base branch from main to 3.3.x August 13, 2025 05:32
@seung-hun-h seung-hun-h force-pushed the feature/redis-disposalbean-to-lifecycle-3.3.x branch from 6a9df4b to cdca5cb Compare August 13, 2025 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: waiting-for-triage An issue we've not yet triaged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spring Session Redis should use Lifecycle instead of DisposableBean

2 participants