spring-projects / spring-projects/spring-session

Consider making Session implementations public

Open
#2,258 1 comment 0 reactions 1 assignee View on GitHub

@marcusdacoregio is already working on this.

Since Mar 15, 2023.

for: team-attention in: jdbc in: mongo-db in: redis type: enhancement
Dominant language
Java
Stars
1.9k
Forks
1.2k
Avg merge
4h 27m
Merged PRs (30d)
55

Description

Expected Behavior

It should be possible to extend or delegate to those implementations.

Current Behavior

  • SessionRepository implementations are open for extension but cannot be extended, e.g. there is no way to override createSession or save methods.
  • This issue mentions that the MongoSession is an internal implementation detail of the MongoIndexedSessionRepository implementation. That actually is not 100% true since MongoSession is returned by the API.
  • The AbstractMongoSessionConverter is meant to be extended accordingly to its javadoc, but it is not possible since its abstract methods work with MongoSession and that implementation is package-private
  • Since each implementation is part of the public API, it is strange that they are not public

Context

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.