Commit Graph

150 Commits

Author SHA1 Message Date
Vedran Pavic
00e7110594 Implement individual attribute persistence in JdbcOperationsSessionRepository 2016-04-26 14:29:23 -05:00
Eddú Meléndez Gonzales
f973e63fce Set collectionName attribute in MongoOperationsSessionRepository
Previous to this commit, collectionName could be set in
MongoHttpSessionConfiguration but it was never used. Now, attribute
can be set into MongoOperationsSessionRepository to take effect.

See gh-489
2016-04-26 14:27:02 -05:00
Eddú Meléndez
edbf8bf587 Expose attributes in MongoHttpSessionConfiguration
Attributes collectionName and maxInactiveIntervalInSeconds can be set
now.

Fixes gh-489
2016-04-20 13:49:18 -05:00
Johnny Lim
234f6c954a Remove duplicate words
Remove duplicate words

Fixes gh-494
2016-04-18 23:27:48 -05:00
Eddú Meléndez
5865b0a715 Add tableName setter for JdbcHttpSessionConfiguration
See gh-488
2016-04-19 01:00:40 +10:00
John Blum
2d6f505a30 Update to Spring Data Hopper
Fixes gh-470
2016-04-11 09:31:05 -05:00
Rob Winch
7c616a1adf Redis save does nothing if nothing has changed
Fixes gh-467
2016-04-06 15:38:34 -05:00
Vedran Pavić
3f819a94b1 Enable transaction management for JdbcOperationsSessionRepository operations 2016-04-05 23:39:36 -05:00
Vedran Pavic
63006db45d Fix loading of JdbcSession's lastAccessedTime attribute
Fixes gh-445.
2016-03-28 18:13:16 +02:00
lowzj
128e0c4d47 Fix SessionRepositoryFilter comment typo 2016-03-23 19:32:05 +08:00
Rob Winch
b58ea03a3b Polish JdkMongoSessionConverter
* Serializer/Deserializer -> Converter API
* Verify/Test null constructor arguments

Issue gh-431
2016-03-16 21:06:57 -05:00
Jakub Kubrynski
9014ac9060 JdkMongoSessionConverter supports custom ClassLoader
Fixes gh-431
2016-03-16 20:35:39 -05:00
Rob Winch
bbbdf939e8 Polish JacksonMongoSessionConverter
Issue gh-416
2016-03-14 13:29:17 -05:00
Jakub Kubrynski
e23398b890 Add JacksonMongoSessionConverter
Fixes gh-416
2016-03-14 13:29:17 -05:00
Rob Winch
195228ff5a Fix checkstyle
Fixes gh-423
2016-03-14 10:41:40 -05:00
Øyvind Horneland
831d2f4152 SessionRepositoryFilter caches null session lookup
If a session cannot be found by id, we will cache that result for any
subsequent calls to getSession(false) for the duration of this request.

Fixes gh-423
2016-03-14 10:40:25 -05:00
Erin Drummond
49f24e493d Fix JdbcOperationsSessionRepository session cleanup
Make JDBC session cleanup logic actually cleanup expired sessions
as opposed to all sessions

Fixes gh-421
2016-03-11 09:28:18 -06:00
Rob Winch
68ddcef83e Fix Javadoc 2016-03-07 16:08:54 -06:00
Rob Winch
f0200696ef Additional Checkstyle Fixes
Issue gh-393
2016-03-07 15:36:17 -06:00
Vedran Pavic
7f3302253b Prepare codebase to adhere to Checkstyle rules
Issue gh-393
2016-03-07 15:33:42 -06:00
Rob Winch
216bfd7355 MongoSessionConverter -> AbstractMongoSessionConverter
Using Abstract prefix follows conventions for abstract classes
beginning with Abstract. This also opens up the door to introduce
a MongoSessionConverter interface in the future.

Issue gh-17
2016-03-07 12:45:05 -06:00
Jakub Kubrynski
34cebc3df6 Add MongoOperationsSessionRepository
Fixes gh-17
2016-03-07 12:45:05 -06:00
Rob Winch
7b28b214ff Polish JdbcOperationsSessionRepository
* Fix whitepspaces
* Remove Override from interfaces

Issue gh-364
2016-03-07 09:25:30 -06:00
Rob Winch
8f8cfe5d79 JdbcOperationsSessionRepository uses ConversionService
Issue gh-364
2016-03-07 09:18:21 -06:00
Vedran Pavic
cd38e307e0 Add JdbcOperationsSessionRepository
This commit provides implementation of SessionRepository based
on Spring's JdbcOperations interface.

@EnableJdbcHttpSession annotation is provided to ease the
configuration, together with spring-session-jdbc BOM and schema
creation scripts for all major databases.

Fixes gh-364
2016-03-04 11:24:06 -06:00
Rob Winch
091d0d8d9f DefaultCookieSerializer ignores null Cookie value
Previously a null Cookie value was returned by DefaultCookieSerializer
readCookieValues(). This could cause NullPointerExeptions later on.

This commit ignores cookies with a null value.

Fixes gh-392
2016-03-04 10:22:33 -06:00
Rob Winch
11ca552625 Update Dependency Versions
Fixes gh-386
2016-02-25 13:08:44 -06:00
John Blum
53d7c84f73 Fix ClassCastException Token$Tombstone
Fixes gh-373
2016-02-24 17:01:26 -06:00
Rob Winch
d5259bf0e9 Fix RedisSessionExpirationPolicy logger name
Fixes gh-329
2016-02-23 14:31:00 -06:00
Rob Winch
12b1dda24c Remove EnableScheduling from SpirngHttpsessionConfiguration
Fixes gh-377
2016-02-22 22:43:15 -06:00
Rob Winch
fad66c5cd2 Spaces to Tabs 2016-02-22 22:12:47 -06:00
Vladimir Tsanev
5bf12fdd93 Custom task executors for RedisMessageListenerContainer
Tasks executors used by redisMessageListenerContainer can now optionally
be overriden with beans named springSessionRedisTaskExecutor and/or
springSessionRedisSubscriptionExecutor.

Fixes gh-314
2016-02-22 13:22:53 -06:00
Rob Winch
d209a10514 Clean up principal index immediately on delete
Previously index was cleaned up only in the Redis Keyspace Notification.
This meant there was a delay in removing the index. This does not cause
a bug since we verify sessions exist and are not expired when we look up
sessions by index. However, it could be improved.

This commit ensures that the index is cleaned up immediately on session
deletion.

Fixes gh-367
2016-02-15 08:32:59 -06:00
Rob Winch
e0bbbbcd45 Add RedisFlushMode
This commit allows Redis support to flush lazily (already
supported) or immediately (new).

Fixes gh-273
2016-02-10 08:49:01 -06:00
Mark Anderson
f2443f5e21 Support External Hazelcast instance
Previously the Hazelcast support only worked with
embedded Hazelcast instances.

This commit ensures that Hazelcast support works
with external Hazelcast instances.

Fixes gh-339
2016-02-08 16:00:37 -06:00
John Blum
c2b407189e Add generic GemFire findByIndexNameAndIndexValue support
Fixes gh-353
2016-02-08 15:36:08 -06:00
Rob Winch
7de11753a9 Add Debug Logging for Session Creation
Fixes gh-323
2016-02-04 15:40:50 -06:00
Rob Winch
2d6a474c2c Change RedisSerializer qualifier to springSessionDefaultRedisSerializer
Fixes gh-350
2016-02-04 15:23:05 -06:00
Janne Valkealahti
fe17e3fcc0 Use correct RedisSerializer
- Remove hardcoded JdkSerializationRedisSerializer from onMessage
  in favour of same defaultRedisSerializer user configured as this
  is most likely the one which works.
- Fixes #309
2016-02-04 14:01:26 -06:00
Rob Winch
bda5c85acf Cookie Value now sessionId + "." jvmRoute
If jvmRoute is set on DefaultCookieSerializer, then it sets the cookie
value to be:

sessionId + "." jvmRoute

Fixes gh-326
2016-01-29 16:50:22 -06:00
Rob Winch
f20acbf9b9 Automatically Index SecurityContext
Fixes gh-266
2016-01-29 16:27:19 -06:00
Rob Winch
ad09b498a3 FindByPrincipalNameSessionRepository -> FindByIndexNameSessionRepository
Fixes gh-342
2016-01-29 13:54:11 -06:00
Rob Winch
7618aafb90 Fix Javadoc warnings
Fixes gh-347
2016-01-29 13:23:35 -06:00
Rob Winch
7a3bf533b3 Remove Compiler Warnings
Fixes gh-346
2016-01-29 12:13:03 -06:00
Rob Winch
7463592988 Fix RedisOperationsSessionRepository.findByPrincipalName index
Previously, the index was not properly cleaned up when it was changed. This
commit ensures that the index is removed when the index name changes.

Fixes gh-343
2016-01-28 21:42:29 -06:00
Rob Winch
198acc0648 Remove compile time warning
Remove the MapSession.getAttribute compile time warning.

Issue gh-346
2016-01-28 21:42:00 -06:00
Rob Winch
22f6f9dd72 Polish GemFire
* Remove Compile Warnings
* Correct @since
* Add tests
* Add to What's New in documentation
2016-01-28 16:34:40 -06:00
John Blum
019e0083b0 Add GemFire Support
Fixes GH PR #148 and PR #308 implementing a GemFire Adapter to support
clustered HttpSessions in Spring Session.

* Resolve SGF-373 - Implement a Spring Session Adapter for GemFire backing
a HttpSession similar to the Redis support.
* Add Spring Session annotation to enable GemFire support with
@EnableGemFireHttpSession.
* Add extesion of SpringHttpSessionConfiguration to configure GemFire using
GemFireHttpSessionConfiguration.
* Add implementation of SessionRepository to access clustered, replicated
HttpSession state in GemFire with GemFireOperationsSessionRepository.
* Utilize GemFire Data Serialization framework to both replicate
HttpSession state information as well as handle deltas.
* Utilize GemFire OQL query to lookup arbitrary Session attributes by name,
and in particular the user authenticated principal name.
* Implment unit and integration tests, and in particular, tests for both
peer-to-peer (p2p) and client/server topologies.
* Set initial Spring Data GemFire version to 1.7.2.RELEASE, which depends
on Pivotal GemFire 8.1.0.
* Add documentation, Javadoc and samples along with additional Integration
Tests.

Fixes gh-148
2016-01-28 16:17:54 -06:00
Rob Winch
969053fa87 SessionRepositoryMessageInterceptor updates lastAccessedTime
Fixes gh-325
2015-12-08 08:37:50 -06:00
Rob Winch
eb646ef5d8 SessionRepositoryFilter sets maxInactiveIntervalInSeconds on create
Fixes gh-324
2015-12-04 15:44:52 -06:00