diff --git a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java index 4c76d737b..af2387ee7 100644 --- a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java +++ b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/http/EnableSpringHttpSession.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2019 the original author or authors. + * Copyright 2014-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.Target; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.session.SessionRepository; import org.springframework.session.events.SessionCreatedEvent; @@ -34,7 +33,7 @@ * *
*
- * {@literal @Configuration}
+ * {@literal @Configuration(proxyBeanMethods = false)}
* {@literal @EnableSpringHttpSession}
* public class SpringHttpSessionConfig {
*
@@ -74,7 +73,6 @@
@Target({ java.lang.annotation.ElementType.TYPE })
@Documented
@Import(SpringHttpSessionConfiguration.class)
-@Configuration(proxyBeanMethods = false)
public @interface EnableSpringHttpSession {
}
diff --git a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java
index 0f87aeeda..9b8ec34bb 100644
--- a/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java
+++ b/spring-session-core/src/main/java/org/springframework/session/config/annotation/web/server/EnableSpringWebSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2019 the original author or authors.
+ * Copyright 2014-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,7 +20,6 @@
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
-import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
/**
@@ -31,7 +30,7 @@
*
*
*
- * {@literal @Configuration}
+ * {@literal @Configuration(proxyBeanMethods = false)}
* {@literal @EnableSpringWebSession}
* public class SpringWebFluxConfig {
*
@@ -50,7 +49,6 @@
@Target({ java.lang.annotation.ElementType.TYPE })
@Documented
@Import(SpringWebSessionConfiguration.class)
-@Configuration(proxyBeanMethods = false)
public @interface EnableSpringWebSession {
}
diff --git a/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java b/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java
index 6d9a8e712..0d9b91447 100644
--- a/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java
+++ b/spring-session-core/src/test/java/org/springframework/session/config/annotation/web/server/SpringWebSessionConfigurationTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2019 the original author or authors.
+ * Copyright 2014-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -24,6 +24,7 @@
import org.springframework.beans.factory.UnsatisfiedDependencyException;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
import org.springframework.session.ReactiveMapSessionRepository;
import org.springframework.session.ReactiveSessionRepository;
import org.springframework.web.server.adapter.WebHttpHandlerBuilder;
@@ -105,6 +106,7 @@ void providedSessionIdResolverShouldBePickedUpAutomatically() {
/**
* A configuration with all the right parts.
*/
+ @Configuration(proxyBeanMethods = false)
@EnableSpringWebSession
static class GoodConfig {
@@ -122,11 +124,13 @@ ReactiveSessionRepository> reactiveSessionRepository() {
/**
* A configuration where no {@link ReactiveSessionRepository} is defined. It's BAD!
*/
+ @Configuration(proxyBeanMethods = false)
@EnableSpringWebSession
static class BadConfig {
}
+ @Configuration(proxyBeanMethods = false)
@EnableSpringWebSession
static class OverrideSessionIdResolver {
diff --git a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/EnableMongoHttpSession.java b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/EnableMongoHttpSession.java
index c346f58d2..d337f4f36 100644
--- a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/EnableMongoHttpSession.java
+++ b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/EnableMongoHttpSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2016 the original author or authors.
+ * Copyright 2014-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.session.data.mongo.MongoIndexedSessionRepository;
@@ -34,6 +33,7 @@
*
*
*
+ * {@literal @Configuration(proxyBeanMethods = false)}
* {@literal @EnableMongoHttpSession}
* public class MongoHttpSessionConfig {
*
@@ -52,7 +52,6 @@
@Target(ElementType.TYPE)
@Documented
@Import(MongoHttpSessionConfiguration.class)
-@Configuration(proxyBeanMethods = false)
public @interface EnableMongoHttpSession {
/**
diff --git a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/EnableMongoWebSession.java b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/EnableMongoWebSession.java
index 9f7def2c4..ae567bb73 100644
--- a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/EnableMongoWebSession.java
+++ b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/EnableMongoWebSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017 the original author or authors.
+ * Copyright 2014-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,7 +20,6 @@
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
-import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.session.data.mongo.ReactiveMongoSessionRepository;
@@ -32,7 +31,7 @@
*
*
*
- * {@literal @Configuration}
+ * {@literal @Configuration(proxyBeanMethods = false)}
* {@literal @EnableMongoWebSession}
* public class SpringWebFluxConfig {
*
@@ -52,7 +51,6 @@
@Target({ java.lang.annotation.ElementType.TYPE })
@Documented
@Import(ReactiveMongoWebSessionConfiguration.class)
-@Configuration(proxyBeanMethods = false)
public @interface EnableMongoWebSession {
/**
diff --git a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java
index b1043dcf0..f6a12b1bb 100644
--- a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java
+++ b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2017 the original author or authors.
+ * Copyright 2014-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -286,6 +286,7 @@ PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableMongoHttpSession
static class SessionRepositoryCustomizerConfiguration {
diff --git a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java
index 9f06f4dbd..842cc375c 100644
--- a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java
+++ b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017 the original author or authors.
+ * Copyright 2014-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,6 +26,7 @@
import org.springframework.beans.factory.UnsatisfiedDependencyException;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
import org.springframework.data.mongodb.core.index.IndexOperations;
@@ -239,6 +240,7 @@ private AbstractMongoSessionConverter findMongoSessionConverter(ReactiveMongoSes
/**
* A configuration with all the right parts.
*/
+ @Configuration(proxyBeanMethods = false)
@EnableMongoWebSession
static class GoodConfig {
@@ -252,11 +254,13 @@ ReactiveMongoOperations operations() {
/**
* A configuration where no {@link ReactiveMongoOperations} is defined. It's BAD!
*/
+ @Configuration(proxyBeanMethods = false)
@EnableMongoWebSession
static class BadConfig {
}
+ @Configuration(proxyBeanMethods = false)
@EnableMongoWebSession
static class OverrideSessionConverterConfig {
@@ -272,6 +276,7 @@ AbstractMongoSessionConverter mongoSessionConverter() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableMongoWebSession(maxInactiveIntervalInSeconds = 123, collectionName = "test-case")
static class OverrideMongoParametersConfig {
@@ -282,6 +287,7 @@ ReactiveMongoOperations operations() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableMongoWebSession
static class ConfigWithReactiveAndImperativeMongoOperations {
@@ -308,6 +314,7 @@ MongoOperations mongoOperations(IndexOperations indexOperations) {
}
+ @Configuration(proxyBeanMethods = false)
@EnableSpringWebSession
static class CustomizedReactiveConfiguration extends ReactiveMongoWebSessionConfiguration {
@@ -324,6 +331,7 @@ ReactiveMongoOperations reactiveMongoOperations() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableMongoWebSession
static class SessionRepositoryCustomizerConfiguration {
@@ -346,6 +354,7 @@ ReactiveSessionRepositoryCustomizer sessionRepos
}
+ @Configuration(proxyBeanMethods = false)
@EnableMongoWebSession
static class CustomIndexResolverConfigurationWithDefaultMongoSessionConverter {
@@ -362,6 +371,7 @@ IndexResolver indexResolver() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableMongoWebSession
static class CustomIndexResolverConfigurationWithProvidedtMongoSessionConverter {
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSession.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSession.java
index df59fc61b..6938f4bb4 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSession.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSession.java
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.session.FlushMode;
@@ -41,7 +40,7 @@
* single {@link RedisConnectionFactory} must be provided. For example:
*
*
- * @Configuration
+ * @Configuration(proxyBeanMethods = false)
* @EnableRedisHttpSession
* public class RedisHttpSessionConfig {
*
@@ -64,7 +63,6 @@
@Target(ElementType.TYPE)
@Documented
@Import(RedisHttpSessionConfiguration.class)
-@Configuration(proxyBeanMethods = false)
public @interface EnableRedisHttpSession {
/**
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisIndexedHttpSession.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisIndexedHttpSession.java
index f483fe338..8be4a5be5 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisIndexedHttpSession.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisIndexedHttpSession.java
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.session.FlushMode;
@@ -41,7 +40,7 @@
* annotation, a single {@link RedisConnectionFactory} must be provided. For example:
*
*
- * @Configuration
+ * @Configuration(proxyBeanMethods = false)
* @EnableRedisIndexedHttpSession
* public class RedisHttpSessionConfig {
*
@@ -64,7 +63,6 @@
@Target(ElementType.TYPE)
@Documented
@Import(RedisIndexedHttpSessionConfiguration.class)
-@Configuration(proxyBeanMethods = false)
public @interface EnableRedisIndexedHttpSession {
/**
diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/EnableRedisWebSession.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/EnableRedisWebSession.java
index e1f6f9637..a1fe5445b 100644
--- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/EnableRedisWebSession.java
+++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/EnableRedisWebSession.java
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory;
import org.springframework.session.MapSession;
@@ -38,7 +37,7 @@
* {@link ReactiveRedisConnectionFactory} must be provided. For example:
*
*
- * @Configuration
+ * @Configuration(proxyBeanMethods = false)
* @EnableRedisWebSession
* public class RedisWebSessionConfig {
*
@@ -61,7 +60,6 @@
@Target(ElementType.TYPE)
@Documented
@Import(RedisWebSessionConfiguration.class)
-@Configuration(proxyBeanMethods = false)
public @interface EnableRedisWebSession {
/**
diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java
index 1eca91b0c..ea3d4f020 100644
--- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java
+++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java
@@ -261,6 +261,7 @@ static class CustomFlushImmediatelyConfiguration {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisHttpSession(saveMode = SaveMode.ALWAYS)
static class CustomSaveModeExpressionAnnotationConfiguration {
@@ -342,6 +343,7 @@ static class CustomRedisHttpSessionConfiguration2 {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisHttpSession
static class SessionRepositoryCustomizerConfiguration {
diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java
index fca38d7f2..d9b96d639 100644
--- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java
+++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java
@@ -296,11 +296,13 @@ static class CustomFlushImmediatelyConfiguration {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisIndexedHttpSession(cleanupCron = CLEANUP_CRON_EXPRESSION)
static class CustomCleanupCronExpressionAnnotationConfiguration {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisIndexedHttpSession(saveMode = SaveMode.ALWAYS)
static class CustomSaveModeExpressionAnnotationConfiguration {
@@ -405,6 +407,7 @@ RedisMessageListenerContainer redisMessageListenerContainer() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisIndexedHttpSession
static class SessionRepositoryCustomizerConfiguration {
diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfigurationTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfigurationTests.java
index 2b7041caf..af5e1518b 100644
--- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfigurationTests.java
+++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfigurationTests.java
@@ -240,11 +240,13 @@ ReactiveRedisConnectionFactory defaultRedisConnectionFactory() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession
static class DefaultConfig {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession
static class SpringSessionRedisOperationsResolvingConfig {
@@ -257,16 +259,19 @@ ReactiveRedisOperations getSpringSessionRedisOperations() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession(redisNamespace = REDIS_NAMESPACE)
static class CustomNamespaceConfig {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession(maxInactiveIntervalInSeconds = MAX_INACTIVE_INTERVAL_IN_SECONDS)
static class CustomMaxInactiveIntervalConfig {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession(saveMode = SaveMode.ALWAYS)
static class CustomSaveModeExpressionAnnotationConfiguration {
@@ -281,6 +286,7 @@ static class CustomSaveModeExpressionSetterConfiguration extends RedisWebSession
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession
static class QualifiedConnectionFactoryRedisConfig {
@@ -292,6 +298,7 @@ ReactiveRedisConnectionFactory qualifiedRedisConnectionFactory() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession
static class PrimaryConnectionFactoryRedisConfig {
@@ -303,6 +310,7 @@ ReactiveRedisConnectionFactory primaryRedisConnectionFactory() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession
static class QualifiedAndPrimaryConnectionFactoryRedisConfig {
@@ -320,6 +328,7 @@ ReactiveRedisConnectionFactory primaryRedisConnectionFactory() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession
static class NamedConnectionFactoryRedisConfig {
@@ -330,6 +339,7 @@ ReactiveRedisConnectionFactory redisConnectionFactory() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession
static class MultipleConnectionFactoryRedisConfig {
@@ -340,6 +350,7 @@ ReactiveRedisConnectionFactory secondaryRedisConnectionFactory() {
}
+ @Configuration(proxyBeanMethods = false)
@EnableRedisWebSession
static class CustomRedisSerializerConfig {
@@ -351,6 +362,7 @@ RedisSerializer