Fix bug in Exception handling when resolving the SpringSessionGemFireConfigurer to properly handle the NoUniqueBeanDefinitionException.

This commit is contained in:
John Blum
2018-08-10 19:58:18 -07:00
parent 81d51d89d6
commit 9a2f149aec

View File

@@ -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 -> {