반응형
유저 서버와 어드민 서버를 분리하면서 유저 서버는 session 저장소를 redis, 어드민은 jdbc로 가져가도록 했다.
어드민은 jdbc로 가져가게 된 이유는 어드민 유저의 수는 일반 유저에 비해 많이 적기 때문에 세션 I/O 과정에 부하가 적어 선택하게 되었다. (유지 보수 비용도 고려)
세션 저장소로 jdbc로 사용하려면 아래와 같이 프로퍼티 파일에 옵션을 주면된다.
spring.session.store-type=jdbc
하지만 이렇게 설정을하고 실행을 하면 spring_session 테이블이 생성이 안되었다는 에러가 발생할것이다.
문제 해결
만약 프로젝트에서 사용하는 데이터베이스가 embeded 타입이라면 spring_session 테이블은 자동 생성되도록 기본 설정 되어 있다.
하지만 나는 embeded 타입이 아닌 db 서버가 따로 있기 때문에 spring_session 테이블이 생성되지 않는 것이였다.
spring_session 테이블을 자동 생성하도록 하는 방법은 간단하다.
아래처럼 옵션을 추가해주기만하면된다.
spring.session.store-type=jdbc
spring.session.jdbc.initialize-schema=always
'◼ Error 모음' 카테고리의 다른 글
[ElastiCache Redis] ElastiCache Host 연결 문제 (RedisConnectionFailureException) (0) | 2023.09.27 |
---|---|
[Spring] no main manifest attribute 에러 (0) | 2023.09.27 |
application.properties의 키 값이 @Value를 선언한 필드 값에 주입되지 않는 문제 (0) | 2023.09.01 |
@ModelAttribute 객체가 바인딩 되지 않는 오류 (0) | 2023.07.29 |
[티스토리] 게시글을 작성하는데 실패했습니다. (초간단 해결 방법) (0) | 2023.06.14 |