From ffce1ef37023f32708a19cc234fe20a51a98b07e Mon Sep 17 00:00:00 2001 From: dykim Date: Mon, 1 Jun 2026 13:35:32 +0900 Subject: [PATCH] Fallback to local sessions without Redis bean --- .../main/web/OptionalSpringSessionFilter.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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; }