Skip to content

Commit fb66cf3

Browse files
vpavicrwinch
authored andcommitted
Remove @configuration meta-annotation from @enable*Session annotations
Closes gh-1361
1 parent a23090e commit fb66cf3

File tree

23 files changed

+88
-40
lines changed

23 files changed

+88
-40
lines changed

spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2019 the original author or authors.
2+
* Copyright 2014-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -20,7 +20,6 @@
2020
import java.lang.annotation.Retention;
2121
import java.lang.annotation.Target;
2222

23-
import org.springframework.context.annotation.Configuration;
2423
import org.springframework.context.annotation.Import;
2524
import org.springframework.session.SessionRepository;
2625
import org.springframework.session.events.SessionCreatedEvent;
@@ -34,7 +33,7 @@
3433
*
3534
* <pre>
3635
* <code>
37-
* {@literal @Configuration}
36+
* {@literal @Configuration(proxyBeanMethods = false)}
3837
* {@literal @EnableSpringHttpSession}
3938
* public class SpringHttpSessionConfig {
4039
*
@@ -74,7 +73,6 @@
7473
@Target({ java.lang.annotation.ElementType.TYPE })
7574
@Documented
7675
@Import(SpringHttpSessionConfiguration.class)
77-
@Configuration(proxyBeanMethods = false)
7876
public @interface EnableSpringHttpSession {
7977

8078
}

spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2019 the original author or authors.
2+
* Copyright 2014-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -20,7 +20,6 @@
2020
import java.lang.annotation.Retention;
2121
import java.lang.annotation.Target;
2222

23-
import org.springframework.context.annotation.Configuration;
2423
import org.springframework.context.annotation.Import;
2524

2625
/**
@@ -31,7 +30,7 @@
3130
*
3231
* <pre>
3332
* <code>
34-
* {@literal @Configuration}
33+
* {@literal @Configuration(proxyBeanMethods = false)}
3534
* {@literal @EnableSpringWebSession}
3635
* public class SpringWebFluxConfig {
3736
*
@@ -50,7 +49,6 @@
5049
@Target({ java.lang.annotation.ElementType.TYPE })
5150
@Documented
5251
@Import(SpringWebSessionConfiguration.class)
53-
@Configuration(proxyBeanMethods = false)
5452
public @interface EnableSpringWebSession {
5553

5654
}

spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2019 the original author or authors.
2+
* Copyright 2014-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -24,6 +24,7 @@
2424
import org.springframework.beans.factory.UnsatisfiedDependencyException;
2525
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
2626
import org.springframework.context.annotation.Bean;
27+
import org.springframework.context.annotation.Configuration;
2728
import org.springframework.session.ReactiveMapSessionRepository;
2829
import org.springframework.session.ReactiveSessionRepository;
2930
import org.springframework.web.server.adapter.WebHttpHandlerBuilder;
@@ -105,6 +106,7 @@ void providedSessionIdResolverShouldBePickedUpAutomatically() {
105106
/**
106107
* A configuration with all the right parts.
107108
*/
109+
@Configuration(proxyBeanMethods = false)
108110
@EnableSpringWebSession
109111
static class GoodConfig {
110112

@@ -122,11 +124,13 @@ ReactiveSessionRepository<?> reactiveSessionRepository() {
122124
/**
123125
* A configuration where no {@link ReactiveSessionRepository} is defined. It's BAD!
124126
*/
127+
@Configuration(proxyBeanMethods = false)
125128
@EnableSpringWebSession
126129
static class BadConfig {
127130

128131
}
129132

133+
@Configuration(proxyBeanMethods = false)
130134
@EnableSpringWebSession
131135
static class OverrideSessionIdResolver {
132136

spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/EnableMongoHttpSession.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2016 the original author or authors.
2+
* Copyright 2014-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@
2222
import java.lang.annotation.RetentionPolicy;
2323
import java.lang.annotation.Target;
2424

25-
import org.springframework.context.annotation.Configuration;
2625
import org.springframework.context.annotation.Import;
2726
import org.springframework.session.data.mongo.MongoIndexedSessionRepository;
2827

@@ -34,6 +33,7 @@
3433
*
3534
* <pre>
3635
* <code>
36+
* {@literal @Configuration(proxyBeanMethods = false)}
3737
* {@literal @EnableMongoHttpSession}
3838
* public class MongoHttpSessionConfig {
3939
*
@@ -52,7 +52,6 @@
5252
@Target(ElementType.TYPE)
5353
@Documented
5454
@Import(MongoHttpSessionConfiguration.class)
55-
@Configuration(proxyBeanMethods = false)
5655
public @interface EnableMongoHttpSession {
5756

5857
/**

spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/EnableMongoWebSession.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017 the original author or authors.
2+
* Copyright 2014-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -20,7 +20,6 @@
2020
import java.lang.annotation.Retention;
2121
import java.lang.annotation.Target;
2222

23-
import org.springframework.context.annotation.Configuration;
2423
import org.springframework.context.annotation.Import;
2524
import org.springframework.session.data.mongo.ReactiveMongoSessionRepository;
2625

@@ -32,7 +31,7 @@
3231
*
3332
* <pre>
3433
* <code>
35-
* {@literal @Configuration}
34+
* {@literal @Configuration(proxyBeanMethods = false)}
3635
* {@literal @EnableMongoWebSession}
3736
* public class SpringWebFluxConfig {
3837
*
@@ -52,7 +51,6 @@
5251
@Target({ java.lang.annotation.ElementType.TYPE })
5352
@Documented
5453
@Import(ReactiveMongoWebSessionConfiguration.class)
55-
@Configuration(proxyBeanMethods = false)
5654
public @interface EnableMongoWebSession {
5755

5856
/**

spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2017 the original author or authors.
2+
* Copyright 2014-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -286,6 +286,7 @@ PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
286286

287287
}
288288

289+
@Configuration(proxyBeanMethods = false)
289290
@EnableMongoHttpSession
290291
static class SessionRepositoryCustomizerConfiguration {
291292

spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017 the original author or authors.
2+
* Copyright 2014-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -26,6 +26,7 @@
2626
import org.springframework.beans.factory.UnsatisfiedDependencyException;
2727
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
2828
import org.springframework.context.annotation.Bean;
29+
import org.springframework.context.annotation.Configuration;
2930
import org.springframework.data.mongodb.core.MongoOperations;
3031
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
3132
import org.springframework.data.mongodb.core.index.IndexOperations;
@@ -239,6 +240,7 @@ private AbstractMongoSessionConverter findMongoSessionConverter(ReactiveMongoSes
239240
/**
240241
* A configuration with all the right parts.
241242
*/
243+
@Configuration(proxyBeanMethods = false)
242244
@EnableMongoWebSession
243245
static class GoodConfig {
244246

@@ -252,11 +254,13 @@ ReactiveMongoOperations operations() {
252254
/**
253255
* A configuration where no {@link ReactiveMongoOperations} is defined. It's BAD!
254256
*/
257+
@Configuration(proxyBeanMethods = false)
255258
@EnableMongoWebSession
256259
static class BadConfig {
257260

258261
}
259262

263+
@Configuration(proxyBeanMethods = false)
260264
@EnableMongoWebSession
261265
static class OverrideSessionConverterConfig {
262266

@@ -272,6 +276,7 @@ AbstractMongoSessionConverter mongoSessionConverter() {
272276

273277
}
274278

279+
@Configuration(proxyBeanMethods = false)
275280
@EnableMongoWebSession(maxInactiveIntervalInSeconds = 123, collectionName = "test-case")
276281
static class OverrideMongoParametersConfig {
277282

@@ -282,6 +287,7 @@ ReactiveMongoOperations operations() {
282287

283288
}
284289

290+
@Configuration(proxyBeanMethods = false)
285291
@EnableMongoWebSession
286292
static class ConfigWithReactiveAndImperativeMongoOperations {
287293

@@ -308,6 +314,7 @@ MongoOperations mongoOperations(IndexOperations indexOperations) {
308314

309315
}
310316

317+
@Configuration(proxyBeanMethods = false)
311318
@EnableSpringWebSession
312319
static class CustomizedReactiveConfiguration extends ReactiveMongoWebSessionConfiguration {
313320

@@ -324,6 +331,7 @@ ReactiveMongoOperations reactiveMongoOperations() {
324331

325332
}
326333

334+
@Configuration(proxyBeanMethods = false)
327335
@EnableMongoWebSession
328336
static class SessionRepositoryCustomizerConfiguration {
329337

@@ -346,6 +354,7 @@ ReactiveSessionRepositoryCustomizer<ReactiveMongoSessionRepository> sessionRepos
346354

347355
}
348356

357+
@Configuration(proxyBeanMethods = false)
349358
@EnableMongoWebSession
350359
static class CustomIndexResolverConfigurationWithDefaultMongoSessionConverter {
351360

@@ -362,6 +371,7 @@ IndexResolver<MongoSession> indexResolver() {
362371

363372
}
364373

374+
@Configuration(proxyBeanMethods = false)
365375
@EnableMongoWebSession
366376
static class CustomIndexResolverConfigurationWithProvidedtMongoSessionConverter {
367377

spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSession.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.lang.annotation.RetentionPolicy;
2323
import java.lang.annotation.Target;
2424

25-
import org.springframework.context.annotation.Configuration;
2625
import org.springframework.context.annotation.Import;
2726
import org.springframework.data.redis.connection.RedisConnectionFactory;
2827
import org.springframework.session.FlushMode;
@@ -41,7 +40,7 @@
4140
* single {@link RedisConnectionFactory} must be provided. For example:
4241
*
4342
* <pre class="code">
44-
* &#064;Configuration
43+
* &#064;Configuration(proxyBeanMethods = false)
4544
* &#064;EnableRedisHttpSession
4645
* public class RedisHttpSessionConfig {
4746
*
@@ -64,7 +63,6 @@
6463
@Target(ElementType.TYPE)
6564
@Documented
6665
@Import(RedisHttpSessionConfiguration.class)
67-
@Configuration(proxyBeanMethods = false)
6866
public @interface EnableRedisHttpSession {
6967

7068
/**

spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisIndexedHttpSession.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.lang.annotation.RetentionPolicy;
2323
import java.lang.annotation.Target;
2424

25-
import org.springframework.context.annotation.Configuration;
2625
import org.springframework.context.annotation.Import;
2726
import org.springframework.data.redis.connection.RedisConnectionFactory;
2827
import org.springframework.session.FlushMode;
@@ -41,7 +40,7 @@
4140
* annotation, a single {@link RedisConnectionFactory} must be provided. For example:
4241
*
4342
* <pre class="code">
44-
* &#064;Configuration
43+
* &#064;Configuration(proxyBeanMethods = false)
4544
* &#064;EnableRedisIndexedHttpSession
4645
* public class RedisHttpSessionConfig {
4746
*
@@ -64,7 +63,6 @@
6463
@Target(ElementType.TYPE)
6564
@Documented
6665
@Import(RedisIndexedHttpSessionConfiguration.class)
67-
@Configuration(proxyBeanMethods = false)
6866
public @interface EnableRedisIndexedHttpSession {
6967

7068
/**

spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/EnableRedisWebSession.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.lang.annotation.RetentionPolicy;
2323
import java.lang.annotation.Target;
2424

25-
import org.springframework.context.annotation.Configuration;
2625
import org.springframework.context.annotation.Import;
2726
import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory;
2827
import org.springframework.session.MapSession;
@@ -38,7 +37,7 @@
3837
* {@link ReactiveRedisConnectionFactory} must be provided. For example:
3938
*
4039
* <pre class="code">
41-
* &#064;Configuration
40+
* &#064;Configuration(proxyBeanMethods = false)
4241
* &#064;EnableRedisWebSession
4342
* public class RedisWebSessionConfig {
4443
*
@@ -61,7 +60,6 @@
6160
@Target(ElementType.TYPE)
6261
@Documented
6362
@Import(RedisWebSessionConfiguration.class)
64-
@Configuration(proxyBeanMethods = false)
6563
public @interface EnableRedisWebSession {
6664

6765
/**

spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ static class CustomFlushImmediatelyConfiguration {
261261

262262
}
263263

264+
@Configuration(proxyBeanMethods = false)
264265
@EnableRedisHttpSession(saveMode = SaveMode.ALWAYS)
265266
static class CustomSaveModeExpressionAnnotationConfiguration {
266267

@@ -342,6 +343,7 @@ static class CustomRedisHttpSessionConfiguration2 {
342343

343344
}
344345

346+
@Configuration(proxyBeanMethods = false)
345347
@EnableRedisHttpSession
346348
static class SessionRepositoryCustomizerConfiguration {
347349

spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,11 +296,13 @@ static class CustomFlushImmediatelyConfiguration {
296296

297297
}
298298

299+
@Configuration(proxyBeanMethods = false)
299300
@EnableRedisIndexedHttpSession(cleanupCron = CLEANUP_CRON_EXPRESSION)
300301
static class CustomCleanupCronExpressionAnnotationConfiguration {
301302

302303
}
303304

305+
@Configuration(proxyBeanMethods = false)
304306
@EnableRedisIndexedHttpSession(saveMode = SaveMode.ALWAYS)
305307
static class CustomSaveModeExpressionAnnotationConfiguration {
306308

@@ -405,6 +407,7 @@ RedisMessageListenerContainer redisMessageListenerContainer() {
405407

406408
}
407409

410+
@Configuration(proxyBeanMethods = false)
408411
@EnableRedisIndexedHttpSession
409412
static class SessionRepositoryCustomizerConfiguration {
410413

0 commit comments

Comments
 (0)