Commit Graph

15 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
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
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
f03dd6f168 Improve test coverage 2014-07-08 13:25:09 -05:00
Rob Winch
1acbca062a Move src to separate project to support sample 2014-07-01 17:28:50 -05:00