all-in-one에 redis 설정시 오류
- 작성자 :
- 김*석
- 작성일 :
- 2021-07-27 10:55:43
- 조회수 :
- 4,029
- 구분 :
- 공통컴포넌트 / 3.6
- 진행상태 :
- 완료
Q
안녕하세요 신입 개발자입니다.
현재 요청을 proxy서버에서 web server 2대에 로드 밸런싱으로 요청을 보내면 요청을 받은 web server는 다시 로드 밸런싱으로 was 2대에 요청을 보냅니다.
이렇게 되면 요청이 들어올때마다 세션이 계속 바뀌어서 작업이 유지가 되지않아 이 문제를 해결하기 위해서 redis를 통해서 세션을 공유할려고 합니다.
<EgovWebApplicationInitializer.java>
rootContext.setConfigLocations()에 contex-redis.xml의 경로를 적어주고
톰캣서버를 실행시키면
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration] for bean with name 'RedisHttpSessionConfiguration' defined in URL [file:/C:/eGovFrameDev-3.10.0-64bit/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/egovframework-all-in-one/WEB-INF/classes/egovframework/redis/context-redis.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration
이렇게 context-redis.xml에 등록한 RedisHttpSessionConfiguration 을 찾을 수 없다는 오류가 나오는데 해결할 수 있는 방법이 있을까요?
첨부파일은 pom.xml, context-redis.xml. EgovWebApplicationInitializer.java 내용과 context-redis.xml 파일 위치를 캡처한 사진입니다.
현재 요청을 proxy서버에서 web server 2대에 로드 밸런싱으로 요청을 보내면 요청을 받은 web server는 다시 로드 밸런싱으로 was 2대에 요청을 보냅니다.
이렇게 되면 요청이 들어올때마다 세션이 계속 바뀌어서 작업이 유지가 되지않아 이 문제를 해결하기 위해서 redis를 통해서 세션을 공유할려고 합니다.
<EgovWebApplicationInitializer.java>
rootContext.setConfigLocations()에 contex-redis.xml의 경로를 적어주고
톰캣서버를 실행시키면
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration] for bean with name 'RedisHttpSessionConfiguration' defined in URL [file:/C:/eGovFrameDev-3.10.0-64bit/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/egovframework-all-in-one/WEB-INF/classes/egovframework/redis/context-redis.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration
이렇게 context-redis.xml에 등록한 RedisHttpSessionConfiguration 을 찾을 수 없다는 오류가 나오는데 해결할 수 있는 방법이 있을까요?
첨부파일은 pom.xml, context-redis.xml. EgovWebApplicationInitializer.java 내용과 context-redis.xml 파일 위치를 캡처한 사진입니다.
환경정보
-
- OS 정보 : 윈도우 10
- 표준프레임워크 버전 : 4.3.25
- JDK(JRE) 정보 : openjdk8
- WAS 정보 : 톰캣 8.5
- DB 정보 : mariaDB
- 기타 환경 정보 : redis
A
안녕하세요.
표준프레임워크센터 입니다.
첨부하신 로그에 보면
다음과 같은 메시지가 확인이 됩니다.
nested exception is java.lang.ClassNotFoundException:
이는 필요로 하는 jar라이브러에서 특정 Class가 존재 하지 않는것이 원인입니다.
해당 라이브러리가 제대로 존재하는지
원격 레포지토리에서 다운로드중 깨지지 않았는지 확인이 필요합니다.
세션클러스터링 설정을 하실려는 것으로 보이는데
이경우 Tomcat이 제공하는 클러스터링 기능을 사용하실수도 있어 보입니다.
감사합니다.
표준프레임워크센터 입니다.
첨부하신 로그에 보면
다음과 같은 메시지가 확인이 됩니다.
nested exception is java.lang.ClassNotFoundException:
이는 필요로 하는 jar라이브러에서 특정 Class가 존재 하지 않는것이 원인입니다.
해당 라이브러리가 제대로 존재하는지
원격 레포지토리에서 다운로드중 깨지지 않았는지 확인이 필요합니다.
세션클러스터링 설정을 하실려는 것으로 보이는데
이경우 Tomcat이 제공하는 클러스터링 기능을 사용하실수도 있어 보입니다.
감사합니다.