diff --git a/src/main/java/egovframework/main/web/OptionalSpringSessionFilter.java b/src/main/java/egovframework/main/web/OptionalSpringSessionFilter.java index 6f3a5fd..8622f8f 100644 --- a/src/main/java/egovframework/main/web/OptionalSpringSessionFilter.java +++ b/src/main/java/egovframework/main/web/OptionalSpringSessionFilter.java @@ -43,7 +43,12 @@ public class OptionalSpringSessionFilter implements Filter { chain.doFilter(request, response); return; } - getDelegate().doFilter(request, response, chain); + Filter current = getDelegate(); + if (current == null) { + chain.doFilter(request, response); + return; + } + current.doFilter(request, response, chain); } @Override @@ -60,6 +65,11 @@ public class OptionalSpringSessionFilter implements Filter { current = this.delegate; if (current == null) { WebApplicationContext context = WebApplicationContextUtils.getRequiredWebApplicationContext(this.servletContext); + if (!context.containsBean(TARGET_BEAN_NAME)) { + this.enabled = false; + this.servletContext.log("Spring Session Redis filter bean was not found. Falling back to local servlet sessions."); + return null; + } current = context.getBean(TARGET_BEAN_NAME, Filter.class); this.delegate = current; }