Commit Graph

28 Commits

Author SHA1 Message Date
Rob Winch
04fcc393fd MapSessionRepository handles expried sessions
Fixes gh-31
2014-11-12 17:37:37 -06:00
Rob Winch
46173f6486 Add SessionDestroyedEvent
Add support for SessionDestroyedEvent so that applications can detect
when a Spring Session has expired or explicitly deleted. This will
ensure that we can cleanup resources (i.e. WebSockets) can be cleaned up
when a Session ends.

Fixes gh-60
2014-11-12 17:37:30 -06:00
Rob Winch
6430e43f0e Add Support for background task cleanup of RedisSession
Redis key expiration has no guarantees of when the expired key is
actually removed. In some instances, it is necessary to clean up resources
as soon as the sessione expires. For example, when an HTTP Session expires
we must ensure that the associated Web Socket sessions are closed.

Sessions are now mapped to their expiration times and a background task
is used to clean up the sessions as they expire.

Fixes gh-59
2014-11-12 17:30:50 -06:00
Rob Winch
dbc7018a11 Add ExpiringSession.isExpired
Fixes gh-58
2014-11-12 17:29:09 -06:00
Rob Winch
9cb5c75b4e MapSessionTests tabs -> spaces 2014-11-12 17:27:39 -06:00
Rob Winch
1ad47fc7b1 Disable onCommit after first commit
At times OnCommittedResponseWrapper#onResponseCommitted() can be invoked
multiple times. For example, when flush is performed multiple times. This
means that the session can be written multiple times which is inefficient.
Instead, we should only save on the first update.

Fixes gh-57
2014-11-12 17:26:43 -06:00
Rob Winch
2a558885ad Polish SessionRepository javadoc
Clarifies that getSession updates expiration, but it must be saved for
the expiration to be persisted.
2014-11-10 13:39:24 -06:00
Rob Winch
87e4dd8a0b Allow configure HttpSessionStrategy 2014-10-27 13:45:32 -05:00
Rob Winch
97f3333194 SessionRepositoryFilter implements Ordered
Support Spring Boot applications by implementing Ordered.
2014-10-27 11:28:37 -05:00
Rob Winch
07ff3088bf Change RedisOperationsSessionRepository.BOUNDED_HASH_KEY_PREFIX
Previously the key contained spring-security-sessions in it since the
project was originally going to be a part of Spring Security.

This commit moves it to spring:session:sessions: to better align with
being part of Spring Session

Fixes #46
2014-10-08 22:01:25 -05:00
Rob Winch
6a22a11187 Allow configure expires for EnableRedisHttpSession 2014-10-01 16:14:40 -05:00
Rob Winch
d026dd6821 Add AbstractHttpSessionApplicationInitializer
This reduces the boilerplate code required to register Spring Session with
the servlet container.

Fixes gh-43
2014-09-30 14:13:26 -05:00
Rob Winch
417174388b Add EnableRedisHttpSession
Fixes gh-42
2014-09-30 13:40:15 -05:00
Rob Winch
0abbba0309 Polish Generics and Update Spring Version
We needed to update Spring Version to avoid
https://jira.spring.io/browse/SPR-11471
2014-09-30 09:07:46 -05:00
Rob Winch
6130a10d14 Remove Compiler Warnings
* Fixes Generics
* Remove unused imports
* Ignore serialize warnings in tests

Fixes gh-40
2014-09-29 22:00:46 -05:00
Rob Winch
a4e003ebf1 HeaderSessionStrategy uses response.setHeader
Previously multiple headers might be outputed. This ensures that only a
single header is sent back with the session id.

Fixes #32
2014-08-01 15:24:50 -05:00
Rob Winch
2732a183f3 OnCommitedResponseWrapper commits when buffer exceeded
Fixes #26
2014-08-01 15:24:50 -05:00
Rob Winch
0d217c680a OnCommittedResponseWrapper triggers commit when content length is reached
Fixes #26
2014-07-31 16:01:18 -05:00
Rob Winch
eb0da565f3 Reorder SessionRepository methods
Fixes #29
2014-07-30 12:10:56 -05:00
Rob Winch
903017285b Create ExpiringSession which extends Session
This provides a better separation for consumers of the API. Most users are
likely not interested in checking to see if a session is expired so they
can focus on the Session API.

Fixes #28
2014-07-30 12:10:56 -05:00
Rob Winch
f1fa380bdd Move session.web to session.web.http
Fixes #18
2014-07-30 12:10:56 -05:00
Rob Winch
699bdf94a0 Remove Sesion.setLastAccessedTime
Fixes #16
2014-07-30 12:10:56 -05:00
Rob Winch
cc71e1f567 Remove Serializable from Session
Fixes #15
2014-07-30 12:10:55 -05:00
Rob Winch
602359a5d8 Update Copyright dates 2014-07-08 14:28:55 -05:00
Rob Winch
68414fa7a7 Polish for Sonar violations 2014-07-08 13:32:48 -05:00
Rob Winch
f03dd6f168 Improve test coverage 2014-07-08 13:25:09 -05:00
Rob Winch
bad70bb0ca Javadoc 2014-07-03 12:07:52 -05:00
Rob Winch
1acbca062a Move src to separate project to support sample 2014-07-01 17:28:50 -05:00