spring-projects / spring-projects/spring-boot
Rework Spring Session Redis properties to make it clearer which properties apply in which situations
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 81.5k
- Forks
- 42.7k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 65
Description
We have 6 properties at the moment:
spring.session.redis.cleanup-cronspring.session.redis.configure-actionspring.session.redis.flush-modespring.session.redis.namespacespring.session.redis.repository-typespring.session.redis.save-mode
Of these, two are servlet-specific:
spring.session.redis.cleanup-cronspring.session.redis.flush-mode
And two are specific to indexed repositories:
spring.session.redis.cleanup-cronspring.session.redis.configure-action
We should try to rework the properties and how they're handled to make this more clear. For example, we could move the servlet-specific properties into a group of their own:
spring.session.redis.servlet.cleanup-cronspring.session.redis.servlet.flush-mode
We could also fail if an indexed-specific property is set when using the default repository type. Additionally or alternatively we could move the indexed-specific properties into their own group. This would leave us with these 6 properties:
spring.session.redis.servlet.indexed.cleanup-cronspring.session.redis.indexed.configure-actionspring.session.redis.servlet.flush-modespring.session.redis.namespacespring.session.redis.repository-typespring.session.redis.save-mode
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Spring Session Redis property definitions and the code that handles repository type, servlet behavior, and indexed repositories. Review how the six existing properties are bound and validated. Done means the property structure and handling clearly communicate which settings apply to servlet and indexed repositories, including the behavior for incompatible settings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring-boot
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100