Skip to content

Commit 7a595f1

Browse files
committed
Rename properties for Spring Session Data MongoDB and Data Redis
Closes gh-47333
1 parent 9225929 commit 7a595f1

File tree

10 files changed

+127
-65
lines changed

10 files changed

+127
-65
lines changed

module/spring-boot-session-data-mongodb/src/dockerTest/java/org/springframework/boot/session/data/mongodb/autoconfigure/MongoReactiveSessionAutoConfigurationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ void defaultConfigWithCustomSessionTimeout() {
9292
@Test
9393
void mongoSessionStoreWithCustomizations() {
9494
this.contextRunner
95-
.withPropertyValues("spring.session.mongodb.collection-name=foo",
95+
.withPropertyValues("spring.session.data.mongodb.collection-name=foo",
9696
"spring.mongodb.uri=" + mongoDb.getReplicaSetUrl())
9797
.run(validateSpringSessionUsesMongo("foo"));
9898
}

module/spring-boot-session-data-mongodb/src/dockerTest/java/org/springframework/boot/session/data/mongodb/autoconfigure/MongoSessionAutoConfigurationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ void defaultConfigWithCustomTimeout() {
7373

7474
@Test
7575
void mongoSessionStoreWithCustomizations() {
76-
this.contextRunner.withPropertyValues("spring.session.mongodb.collection-name=foo")
76+
this.contextRunner.withPropertyValues("spring.session.data.mongodb.collection-name=foo")
7777
.run(validateSpringSessionUsesMongo("foo"));
7878
}
7979

module/spring-boot-session-data-mongodb/src/main/java/org/springframework/boot/session/data/mongodb/autoconfigure/MongoSessionAutoConfiguration.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
after = { MongoDataAutoConfiguration.class, MongoReactiveDataAutoConfiguration.class },
6262
afterName = "org.springframework.boot.webflux.autoconfigure.WebSessionIdResolverAutoConfiguration")
6363
@ConditionalOnClass(Session.class)
64-
@EnableConfigurationProperties(MongoSessionProperties.class)
64+
@EnableConfigurationProperties(SessionDataMongoProperties.class)
6565
public final class MongoSessionAutoConfiguration {
6666

6767
@Configuration(proxyBeanMethods = false)
@@ -75,14 +75,14 @@ class ServletMongoSessionConfiguration {
7575
@Bean
7676
@Order(Ordered.HIGHEST_PRECEDENCE)
7777
SessionRepositoryCustomizer<MongoIndexedSessionRepository> springBootSessionRepositoryCustomizer(
78-
SessionProperties sessionProperties, MongoSessionProperties mongoSessionProperties,
78+
SessionProperties sessionProperties, SessionDataMongoProperties sessionDataMongoProperties,
7979
ServerProperties serverProperties) {
8080
return (sessionRepository) -> {
8181
PropertyMapper map = PropertyMapper.get();
8282
map.from(sessionProperties
8383
.determineTimeout(() -> serverProperties.getServlet().getSession().getTimeout()))
8484
.to(sessionRepository::setDefaultMaxInactiveInterval);
85-
map.from(mongoSessionProperties::getCollectionName).to(sessionRepository::setCollectionName);
85+
map.from(sessionDataMongoProperties::getCollectionName).to(sessionRepository::setCollectionName);
8686
};
8787
}
8888

@@ -97,14 +97,14 @@ class ReactiveMongoSessionConfiguration {
9797

9898
@Bean
9999
ReactiveSessionRepositoryCustomizer<ReactiveMongoSessionRepository> springBootSessionRepositoryCustomizer(
100-
SessionProperties sessionProperties, MongoSessionProperties mongoSessionProperties,
100+
SessionProperties sessionProperties, SessionDataMongoProperties sessionDataMongoProperties,
101101
ServerProperties serverProperties) {
102102
return (sessionRepository) -> {
103103
PropertyMapper map = PropertyMapper.get();
104104
map.from(sessionProperties
105105
.determineTimeout(() -> serverProperties.getReactive().getSession().getTimeout()))
106106
.to(sessionRepository::setDefaultMaxInactiveInterval);
107-
map.from(mongoSessionProperties::getCollectionName).to(sessionRepository::setCollectionName);
107+
map.from(sessionDataMongoProperties::getCollectionName).to(sessionRepository::setCollectionName);
108108
};
109109
}
110110

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
* @author Andy Wilkinson
2525
* @since 4.0.0
2626
*/
27-
@ConfigurationProperties("spring.session.mongodb")
28-
public class MongoSessionProperties {
27+
@ConfigurationProperties("spring.session.data.mongodb")
28+
public class SessionDataMongoProperties {
2929

3030
/**
3131
* Collection name used to store sessions.
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
{
22
"groups": [],
3-
"properties": []
3+
"properties": [
4+
{
5+
"name": "spring.session.mongodb.collection-name",
6+
"description": "Collection name used to store sessions.",
7+
"deprecation": {
8+
"level": "error",
9+
"replacement": "spring.session.data.mongodb.collection-name"
10+
}
11+
}
12+
]
413
}

module/spring-boot-session-data-redis/src/dockerTest/java/org/springframework/boot/session/data/redis/autoconfigure/ReactiveRedisSessionAutoConfigurationTests.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ void defaultConfigWithCustomWebFluxTimeout() {
100100
@Test
101101
void redisSessionStoreWithCustomizations() {
102102
this.contextRunner
103-
.withPropertyValues("spring.session.redis.namespace=foo", "spring.session.redis.save-mode=on-get-attribute")
103+
.withPropertyValues("spring.session.data.redis.namespace=foo",
104+
"spring.session.data.redis.save-mode=on-get-attribute")
104105
.run(validateSpringSessionUsesRedis("foo:", SaveMode.ON_GET_ATTRIBUTE));
105106
}
106107

@@ -129,33 +130,33 @@ void sessionCookieConfigurationIsAppliedToAutoConfiguredWebSessionIdResolver() {
129130
@Test
130131
void indexedRedisSessionDefaultConfig() {
131132
this.contextRunner
132-
.withPropertyValues("spring.session.redis.repository-type=indexed",
133+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
133134
"spring.data.redis.host=" + redis.getHost(), "spring.data.redis.port=" + redis.getFirstMappedPort())
134135
.run(validateSpringSessionUsesIndexedRedis("spring:session:", SaveMode.ON_SET_ATTRIBUTE));
135136
}
136137

137138
@Test
138139
void indexedRedisSessionStoreWithCustomizations() {
139140
this.contextRunner
140-
.withPropertyValues("spring.session.redis.repository-type=indexed", "spring.session.redis.namespace=foo",
141-
"spring.session.redis.save-mode=on-get-attribute", "spring.data.redis.host=" + redis.getHost(),
142-
"spring.data.redis.port=" + redis.getFirstMappedPort())
141+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
142+
"spring.session.data.redis.namespace=foo", "spring.session.data.redis.save-mode=on-get-attribute",
143+
"spring.data.redis.host=" + redis.getHost(), "spring.data.redis.port=" + redis.getFirstMappedPort())
143144
.run(validateSpringSessionUsesIndexedRedis("foo:", SaveMode.ON_GET_ATTRIBUTE));
144145
}
145146

146147
@Test
147148
void indexedRedisSessionWithConfigureActionNone() {
148149
this.contextRunner
149-
.withPropertyValues("spring.session.redis.repository-type=indexed",
150-
"spring.session.redis.configure-action=none", "spring.data.redis.host=" + redis.getHost(),
150+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
151+
"spring.session.data.redis.configure-action=none", "spring.data.redis.host=" + redis.getHost(),
151152
"spring.data.redis.port=" + redis.getFirstMappedPort())
152153
.run(validateStrategy(ConfigureReactiveRedisAction.NO_OP.getClass()));
153154
}
154155

155156
@Test
156157
void indexedRedisSessionWithDefaultConfigureActionNone() {
157158
this.contextRunner
158-
.withPropertyValues("spring.session.redis.repository-type=indexed",
159+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
159160
"spring.data.redis.host=" + redis.getHost(), "spring.data.redis.port=" + redis.getFirstMappedPort())
160161
.run(validateStrategy(ConfigureNotifyKeyspaceEventsReactiveAction.class,
161162
entry("notify-keyspace-events", "gxE")));
@@ -164,7 +165,7 @@ void indexedRedisSessionWithDefaultConfigureActionNone() {
164165
@Test
165166
void indexedRedisSessionWithCustomConfigureReactiveRedisActionBean() {
166167
this.contextRunner.withUserConfiguration(MaxEntriesReactiveRedisAction.class)
167-
.withPropertyValues("spring.session.redis.repository-type=indexed",
168+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
168169
"spring.data.redis.host=" + redis.getHost(), "spring.data.redis.port=" + redis.getFirstMappedPort())
169170
.run(validateStrategy(MaxEntriesReactiveRedisAction.class, entry("set-max-intset-entries", "1024")));
170171

module/spring-boot-session-data-redis/src/dockerTest/java/org/springframework/boot/session/data/redis/autoconfigure/RedisSessionAutoConfigurationTests.java

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,10 @@ void defaultConfig() {
8080

8181
@Test
8282
void invalidConfigurationPropertyValueWhenDefaultConfigIsUsedWithCustomCronCleanup() {
83-
this.contextRunner.withPropertyValues("spring.data.redis.host=" + redis.getHost(),
84-
"spring.data.redis.port=" + redis.getFirstMappedPort(), "spring.session.redis.cleanup-cron=0 0 * * * *")
83+
this.contextRunner
84+
.withPropertyValues("spring.data.redis.host=" + redis.getHost(),
85+
"spring.data.redis.port=" + redis.getFirstMappedPort(),
86+
"spring.session.data.redis.cleanup-cron=0 0 * * * *")
8587
.withConfiguration(AutoConfigurations.of(RedisAutoConfiguration.class))
8688
.run((context) -> {
8789
assertThat(context).hasFailed();
@@ -104,16 +106,17 @@ void defaultConfigWithCustomTimeout() {
104106
@Test
105107
void defaultRedisSessionStoreWithCustomizations() {
106108
this.contextRunner
107-
.withPropertyValues("spring.session.redis.namespace=foo", "spring.session.redis.flush-mode=immediate",
108-
"spring.session.redis.save-mode=on-get-attribute", "spring.data.redis.host=" + redis.getHost(),
109+
.withPropertyValues("spring.session.data.redis.namespace=foo",
110+
"spring.session.data.redis.flush-mode=immediate",
111+
"spring.session.data.redis.save-mode=on-get-attribute", "spring.data.redis.host=" + redis.getHost(),
109112
"spring.data.redis.port=" + redis.getFirstMappedPort())
110113
.run(validateSpringSessionUsesDefaultRedis("foo:", FlushMode.IMMEDIATE, SaveMode.ON_GET_ATTRIBUTE));
111114
}
112115

113116
@Test
114117
void indexedRedisSessionDefaultConfig() {
115118
this.contextRunner
116-
.withPropertyValues("spring.session.redis.repository-type=indexed",
119+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
117120
"spring.data.redis.host=" + redis.getHost(), "spring.data.redis.port=" + redis.getFirstMappedPort())
118121
.withConfiguration(AutoConfigurations.of(RedisAutoConfiguration.class))
119122
.run(validateSpringSessionUsesIndexedRedis("spring:session:", FlushMode.ON_SAVE, SaveMode.ON_SET_ATTRIBUTE,
@@ -123,9 +126,10 @@ void indexedRedisSessionDefaultConfig() {
123126
@Test
124127
void indexedRedisSessionStoreWithCustomizations() {
125128
this.contextRunner
126-
.withPropertyValues("spring.session.redis.repository-type=indexed", "spring.session.redis.namespace=foo",
127-
"spring.session.redis.flush-mode=immediate", "spring.session.redis.save-mode=on-get-attribute",
128-
"spring.session.redis.cleanup-cron=0 0 12 * * *", "spring.data.redis.host=" + redis.getHost(),
129+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
130+
"spring.session.data.redis.namespace=foo", "spring.session.data.redis.flush-mode=immediate",
131+
"spring.session.data.redis.save-mode=on-get-attribute",
132+
"spring.session.data.redis.cleanup-cron=0 0 12 * * *", "spring.data.redis.host=" + redis.getHost(),
129133
"spring.data.redis.port=" + redis.getFirstMappedPort())
130134
.run(validateSpringSessionUsesIndexedRedis("foo:", FlushMode.IMMEDIATE, SaveMode.ON_GET_ATTRIBUTE,
131135
"0 0 12 * * *"));
@@ -134,24 +138,24 @@ void indexedRedisSessionStoreWithCustomizations() {
134138
@Test
135139
void indexedRedisSessionWithConfigureActionNone() {
136140
this.contextRunner
137-
.withPropertyValues("spring.session.redis.repository-type=indexed",
138-
"spring.session.redis.configure-action=none", "spring.data.redis.host=" + redis.getHost(),
141+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
142+
"spring.session.data.redis.configure-action=none", "spring.data.redis.host=" + redis.getHost(),
139143
"spring.data.redis.port=" + redis.getFirstMappedPort())
140144
.run(validateStrategy(ConfigureRedisAction.NO_OP.getClass()));
141145
}
142146

143147
@Test
144148
void indexedRedisSessionWithDefaultConfigureActionNone() {
145149
this.contextRunner
146-
.withPropertyValues("spring.session.redis.repository-type=indexed",
150+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
147151
"spring.data.redis.host=" + redis.getHost(), "spring.data.redis.port=" + redis.getFirstMappedPort())
148152
.run(validateStrategy(ConfigureNotifyKeyspaceEventsAction.class, entry("notify-keyspace-events", "gxE")));
149153
}
150154

151155
@Test
152156
void indexedRedisSessionWithCustomConfigureRedisActionBean() {
153157
this.contextRunner.withUserConfiguration(MaxEntriesRedisAction.class)
154-
.withPropertyValues("spring.session.redis.repository-type=indexed",
158+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
155159
"spring.data.redis.host=" + redis.getHost(), "spring.data.redis.port=" + redis.getFirstMappedPort())
156160
.run(validateStrategy(MaxEntriesRedisAction.class, entry("set-max-intset-entries", "1024")));
157161

@@ -160,7 +164,7 @@ void indexedRedisSessionWithCustomConfigureRedisActionBean() {
160164
@Test
161165
void whenTheUserDefinesTheirOwnSessionRepositoryCustomizerThenDefaultConfigurationIsOverwritten() {
162166
this.contextRunner.withUserConfiguration(CustomizerConfiguration.class)
163-
.withPropertyValues("spring.session.redis.flush-mode=immediate",
167+
.withPropertyValues("spring.session.data.redis.flush-mode=immediate",
164168
"spring.data.redis.host=" + redis.getHost(), "spring.data.redis.port=" + redis.getFirstMappedPort())
165169
.run((context) -> {
166170
RedisSessionRepository repository = validateSessionRepository(context, RedisSessionRepository.class);
@@ -171,8 +175,8 @@ void whenTheUserDefinesTheirOwnSessionRepositoryCustomizerThenDefaultConfigurati
171175
@Test
172176
void whenIndexedAndTheUserDefinesTheirOwnSessionRepositoryCustomizerThenDefaultConfigurationIsOverwritten() {
173177
this.contextRunner.withUserConfiguration(IndexedCustomizerConfiguration.class)
174-
.withPropertyValues("spring.session.redis.repository-type=indexed",
175-
"spring.session.redis.flush-mode=immediate", "spring.data.redis.host=" + redis.getHost(),
178+
.withPropertyValues("spring.session.data.redis.repository-type=indexed",
179+
"spring.session.data.redis.flush-mode=immediate", "spring.data.redis.host=" + redis.getHost(),
176180
"spring.data.redis.port=" + redis.getFirstMappedPort())
177181
.run((context) -> {
178182
RedisIndexedSessionRepository repository = validateSessionRepository(context,

0 commit comments

Comments
 (0)