Stefan Wurzinger
69285f2a9a
Fix Redis session expiration entry deletion
...
Closes gh-585
2021-03-12 16:24:48 +01:00
Eleftheria Stein
62ad3e1bab
Replace deprecated verifyZeroInteractions in tests
2021-01-29 17:00:03 +01:00
Vedran Pavic
55502f336d
Harmonize Redis key namespace configurations
...
At present, the RedisSessionRepository#setKeyNamespace expects users to provide the trailing colon (:) character that is used as separator between namespace segments. This is unlike RedisIndexedSessionRepository and ReactiveRedisSessionRepository that apply the separator implicitly in their respective #setRedisKeyNamespace methods.
This commit harmonizes the Redis key namespaces configurations across all Redis-backed session repository implementations.
2020-11-10 06:55:19 -05:00
Vedran Pavic
bd36e115a8
Align with spring-javaformat 0.0.15
2019-09-29 16:16:36 +02:00
Vedran Pavic
feaf8780a8
Add support for configuring custom IndexResolver
...
See: #1467
2019-09-26 22:18:37 +02:00
Vedran Pavic
8cc8fbb7fd
Harmonize naming of session repositories
...
Resolves : #1455
2019-09-22 21:47:53 +02:00
Vedran Pavic
df3e4c5bc1
Add support for customizing session repository before initialization
...
This commit adds support for customizing session repository implementations (both SessionRepository and ReactiveSessionRepository) before initialization by introducing SessionRepositoryCustomizer and ReactiveSessionRepositoryCustomizer strategies.
Resolves : #1499
2019-09-03 22:17:36 +02:00
Vedran Pavic
903fa10861
Polish
2019-07-30 23:08:13 +02:00
Vedran Pavic
033d6eecae
Add support for session save mode
...
This commit introduces SaveMode enum that individual SessionRepository implementations use to allow customization of the way they handle save operation in terms of tracking delta of changes.
Resolves : #1466
2019-07-14 10:35:05 +02:00
Vedran Pavic
1ca9daccb4
Remove unnecessary throws declaration
2019-07-02 19:23:35 +02:00
Vedran Pavic
07b9433540
Add common flush mode support
...
Resolves : #1465
2019-06-24 19:11:12 +02:00
Vedran Pavic
a6f6042831
Introduce IndexResolver
...
This commit introduces IndexResolver as a strategy interface for resolving index values in FindByIndexNameSessionRepository implementations.
Resolves : #557
2019-06-24 12:01:26 +02:00
Vedran Pavic
aab9b39a6b
Remove immediate flush mode support for reactive Redis sessions
...
Resolves : #1441
2019-06-20 10:44:22 +02:00
Vedran Pavic
822db7fbbf
Use spring-javaformat to format and check code
...
Resolves : #1450
2019-06-17 23:54:41 +02:00
Vedran Pavic
17005c51a7
Add simple Redis SessionRepository implementation
...
See: #1408
2019-06-14 22:55:21 +02:00
Vedran Pavic
54859070f3
Extract RedisSessionMapper
...
See: #1408
2019-06-14 22:55:11 +02:00
Vedran Pavic
a4ff3682f6
Migrate tests to JUnit 5
...
Resolves : #1033
2019-06-06 20:57:45 +02:00
Vedran Pavic
566b388b2f
Align Checkstyle config with Spring Boot
2019-06-03 16:49:08 +02:00
Vedran Pavic
78b72f2d1b
Save reactive Redis session on subscribe
...
This commit ensures ReactiveRedisOperationsSessionRepository#save does work only after subscribe. Without this, multiple invocations of #save over the course of same request can lead to race condition situations.
Resolves : #1399
2019-06-02 19:02:13 +02:00
Vedran Pavic
cc41ea5271
Ensure Redis session with immediate flush respects defaultMaxInactiveInterval
...
Resolves : #1409
2019-05-13 19:08:03 +02:00
Vedran Pavic
094ffe8a60
Avoid conflicts with user provided RedisMessageListenerContainer
...
Resolves : #1252
2019-03-29 21:27:56 +01:00
Spring Operator
90c08340fa
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* http://www.puppycrawl.com/dtds/configuration_1_3.dtd (404) with 1 occurrences migrated to:
https://www.puppycrawl.com/dtds/configuration_1_3.dtd ([https](https://www.puppycrawl.com/dtds/configuration_1_3.dtd ) result 404).
* http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to:
https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ([https](https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ) result 404).
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* http://www.hazelcast.com/schema/config/hazelcast-config-3.11.xsd with 3 occurrences migrated to:
https://www.hazelcast.com/schema/config/hazelcast-config-3.11.xsd ([https](https://www.hazelcast.com/schema/config/hazelcast-config-3.11.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans.xsd with 9 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context.xsd with 7 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd ) result 200).
* http://www.springframework.org/schema/jdbc/spring-jdbc.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ) result 200).
* http://www.springframework.org/schema/security/spring-security.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/security/spring-security.xsd ([https](https://www.springframework.org/schema/security/spring-security.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util-4.1.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util-4.1.xsd ([https](https://www.springframework.org/schema/util/spring-util-4.1.xsd ) result 200).
* http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd with 2 occurrences migrated to:
https://java.sun.com/xml/ns/javaee/web-app_3_0.xsd ([https](https://java.sun.com/xml/ns/javaee/web-app_3_0.xsd ) result 302).
These URLs were intentionally ignored.
* http://java.sun.com/xml/ns/javaee with 4 occurrences
* http://www.hazelcast.com/schema/config with 6 occurrences
* http://www.springframework.org/schema/beans with 18 occurrences
* http://www.springframework.org/schema/context with 14 occurrences
* http://www.springframework.org/schema/jdbc with 2 occurrences
* http://www.springframework.org/schema/p with 5 occurrences
* http://www.springframework.org/schema/security with 4 occurrences
* http://www.springframework.org/schema/util with 4 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 14 occurrences
Fixes gh-1374
2019-03-21 16:59:05 -04:00
Spring Operator
0975d4d47e
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# Fixed URLs
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* http://www.apache.org/licenses/ with 1 occurrences migrated to:
https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/ ) result 200).
* http://www.apache.org/licenses/LICENSE-2.0 with 269 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0 ) result 200).
* http://www.apache.org/licenses/LICENSE-2.0.html with 1 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0.html ([https](https://www.apache.org/licenses/LICENSE-2.0.html ) result 200).
2019-03-14 20:39:41 -05:00
Vedran Pavic
8a4872b919
Improve exception asserts
2018-11-26 10:02:40 +01:00
Vedran Pavic
3e1a22102d
Ensure compatibility with Java 9 and 10
...
Closes gh-1196
2018-09-16 22:13:56 +02:00
Vedran Pavic
5d0775b802
Ensure RedisHttpSessionConfiguration handles events for configured database
...
At present, RedisHttpSessionConfiguration doesn't take into account database index when handlng events. In situations where multiple apps use Spring Session with same Redis instance, but different database, this results in invalid session events.
This commits improves event handling in RedisHttpSessionConfiguration to ensure currently used database is considered.
Closes gh-1128
2018-09-12 23:07:52 +02:00
Vedran Pavic
6cc4bcd13d
Verify session existence before update in ReactiveRedisOperationsSessionRepository
...
Currently, ReactiveRedisOperationsSessionRepository#save does not ensure session's existence before executing update. This can result in an invalid session record in Redis, since write use only delta, and in turn to error while retrieving the invalid session record.
This commit adds check for session existence if session is being updated.
Closes gh-1111
2018-09-09 23:55:27 +02:00
Vedran Pavic
38de434158
Add support for @SpringSessionRedisOperations in reactive Redis repository
...
Closes gh-1164
2018-08-20 07:23:23 +02:00
Vedran Pavic
a2cd1e37fa
Add support for configuring custom RedisSerializer in reactive config
...
Closes gh-1149
2018-08-20 06:31:09 +02:00
Vedran Pavic
3d2a742328
Use Spring Java Format Checkstyle
...
Closes gh-1113
2018-07-23 15:16:35 +02:00
Vedran Pavic
936fc853df
Ensure Session#getAttributeNames implementations return a copy
...
Currently, Session#getAttributeNames implementations, by delegating to MapSession, all return a session attribute map's key set. This causes ConcurrentModificationException when an attempt to modify session attributes is made while iterating over the returned attribute names.
Closes gh-1120
2018-07-17 15:05:03 +02:00
Vedran Pavic
941fdb46f2
Replace use of Test.expected with AssertJ
...
See gh-1032
2018-05-04 18:05:38 +02:00
Vedran Pavic
1d1253e643
Rename expiration key on changeSessionId in RedisOperationsSessionRepository
...
This commit ensures existing expiration key is renamed on changeSessionId operation in RedisOperationsSessionRepository. Previously, this key wasn't renamed which caused invalid invocations of SessionDestroyedEvent handling when key expired.
Closes gh-1029
2018-04-20 23:08:50 +02:00
Vedran Pavic
91b4efc5bd
Fix attribute mapping in ReactiveRedisOperationsSessionRepository
...
This commit ensures that attributes with null values are correctly mapped to session on retrieval from Redis.
Closes gh-1035
2018-04-19 15:31:08 +02:00
Vedran Pavic
62bfeb3f05
Fix ReactiveRedisOperationsSessionRepository tests
2018-04-19 11:08:45 +02:00
Vedran Pavic
5173026aa8
Improve RedisOperationsSessionRepository tests
2018-04-16 08:52:43 +02:00
Vedran Pavic
a780ee0264
Replace use of ExpectedException rule with AssertJ
...
Closes gh-1032
2018-03-31 08:32:16 +02:00
Vedran Pavic
6a370b1ef8
Refactor Redis configuration
...
Closes gh-941
2017-11-27 22:21:40 +01:00
Vedran Pavic
f28ab07b9a
Migrate SpringJUnit4ClassRunner -> SpringRunner
2017-11-20 08:08:00 +01:00
Vedran Pavic
36d349f328
Polish contribution
...
Closes gh-919
2017-11-13 20:59:39 +01:00
Luís Duarte
5f23a41674
Make Redis namespace fully configurable
...
See gh-919
2017-11-10 22:23:25 +01:00
Vedran Pavic
7e26897ec2
Add support for configuring Redis session cleanup cron
2017-10-30 01:33:36 -05:00
Vedran Pavic
fe3f40c6f4
Harmonize Redis configurations
...
This commit improves reactive Redis configuration by adding support for connection factory qualifier and Redis operations resolver annotations.
2017-10-27 13:54:25 +02:00
Vedran Pavic
5df555cd53
Polish
2017-10-27 09:59:51 +02:00
Vedran Pavic
2ecb2e60c0
Improve Redis configuration
...
This commit improves Redis configuration by introducing `@SpringSessionRedisConnectionFactory` qualifier for explicitly declaring a `RedisConnectionFactory` to be used by Spring Session. This is in particular useful in scenarios with multiple `RedisConnectionFactory` beans present in the application context.
Redis configuration is simplified and no longer registers a Spring Session specific `RedisOperations<Object,Object>` bean with the application context.
Users are however able to obtain `RedisOperations<Object,Object>` instance used by Spring Session using newly introduced `@SpringSessionRedisOperations` annotation.
2017-10-25 07:36:44 -05:00
Vedran Pavic
00ede81665
Harmonize naming of reactive components
...
Closes gh-897
2017-10-24 07:36:25 +02:00
Rob Winch
6cfa975b29
Move Redis Reactive Configuration
...
Renaming the package to better align with WebSession pacakge structure
Fixes gh-901
2017-10-22 22:37:21 -05:00
Rob Winch
8b9d421ad6
Tangles in RedisOperationsSessionRepository
...
Issue: gh-900
2017-10-22 22:33:36 -05:00
Vedran Pavic
19b8effa41
Add Redis implementation of ReactorSessionRepository
...
Closes gh-816
2017-10-06 18:45:42 +02:00
Rob Winch
be2604ca69
Add Session.changeSessionId
2017-07-20 16:31:38 -05:00