diff --git a/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/config/annotation/web/http/GemFireHttpSessionConfiguration.java b/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/config/annotation/web/http/GemFireHttpSessionConfiguration.java index 6c601ee..d681f49 100644 --- a/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/config/annotation/web/http/GemFireHttpSessionConfiguration.java +++ b/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/config/annotation/web/http/GemFireHttpSessionConfiguration.java @@ -36,6 +36,7 @@ import org.apache.geode.pdx.PdxSerializer; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.NoUniqueBeanDefinitionException; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.context.annotation.Bean; @@ -423,7 +424,7 @@ public class GemFireHttpSessionConfiguration extends AbstractGemFireHttpSessionC } catch (BeansException cause) { - if (cause instanceof NoSuchBeanDefinitionException) { + if (isCauseBecauseNoSpringSessionGemFireConfigurerPresent(cause)) { return Optional.empty(); } @@ -431,6 +432,10 @@ public class GemFireHttpSessionConfiguration extends AbstractGemFireHttpSessionC } } + private boolean isCauseBecauseNoSpringSessionGemFireConfigurerPresent(Exception cause) { + return (!(cause instanceof NoUniqueBeanDefinitionException) && cause instanceof NoSuchBeanDefinitionException); + } + private void applySpringSessionGemFireConfigurer() { resolveSpringSessionGemFireConfigurer().ifPresent(configurer -> {