Spring/DB 7

Ehcache 2 -> Ehcache 3 마이그레이션

이전에 Ehcache2 로 적용해보았는데, 3으로 마이그레이션 해보았다. 이유는 버전 3이 적극적으로 유지 관리되고 개발된 버전이며, 유형이 안전하고 JSR107과 호환된다고 한다. (JSR107 : Java 캐싱 API https://github.com/jsr107/jsr107spec ) https://stackoverflow.com/questions/47163873/difference-relationship-between-ehcache-v2-and-ehcache-v3 Difference / Relationship between EhCache v2 and EhCache v3 Recently I am doing some research about the performance of java local ca..

Spring/DB 2023.01.23

RDS timezone Asia/Seoul 로 변경하기

Spring boot 와 RDS 를 연결한 후, 데이터를 입력했을 때 시스템 시간을 Asia/Seoul 로 변경하는 법을 알아본다. 설정하지 않으면 기본 디폴트값인 UTC 로 저장되어 보기가 어렵다 ( 아시아/서울 -9h 으로 지정되어있다 ) RDS 에서 파라미터 그룹을 생성해준다. 현재 사진상에 있는 timezone 을 만들어주는 과정이다. default 가 붙어있는 파라미터는 설정이 변경되지 않아 따로 만들어서 변경해주어야 한다. 유형은 DB 파라미터 그룹으로 한다. 그룹이름은 사용자가 원하는데로 작성한다. 생성된 timezone 을 누르고 설정을 변경해준다. 파라미터가 워낙많으니 time_zone 으로 검색하여 Asia/Seoul 로 변경한 후 변경 사항 저장을 한다. 변경이 완료되었으면 이제 사용..

Spring/DB 2023.01.19

AWS Secrets Manager 설정하고 Spring boot 연동하기

프로젝트를 배포하려는 중 .ignore 한 파일에 대한 환경변수를 어떻게 처리해야할지 고민이 많았다. DB 접속정보도 중요하고, AWS S3 에 대한 access-key , secret-key 등 중요한 정보가 많았다. 개인프로젝트 배포를 Docker 와 ec2, github action 을 이용해서 했는데, 여러 블로그를 보니 properties 파일을 따로 만드는 코드를 작성해서 환경변수를 넣어주는 것 같았다. 이러한 중요한 정보를 키/값 으로 지원해주는 솔루션을 제공해주는 여러가지 방법이 있었다.키교체, 교차 계정 액세스 등 아직은 사용하지않지만.. 현업에서 더욱 많이 사용할 거라 생각해 선택했다.https://rainbound.tistory.com/entry/AWS-Parameter-Store-%..

Spring/DB 2023.01.19

RDS MYSQL 연결 시 Connection time out 해결하기

RDS 연결을 하려고 여러 블로그들을 봤을 때 너무 간단해보였다. 다 동일한 과정이어서 호기롭게 도전했지만 Connection time out , unable to connect to localhost 에러에서 2시간이 넘게 걸렸다. RDS 를 몇번이나 삭제하고 새로 생성해도 같은 에러가 발생했으며, 보안그룹을 아무리 수정해도 똑같았다. 아래 해결방법을 공유하고자 한다. RDS 생성과정은 너무 많은 블로그가 있어서 생략하고 생성과정 중 꼭 확인해야할 것은 퍼블릭 액세스 여부를 "예" 로 설정해주어야 한다. 이후 아래 과정을 진행한다. aws -> vpc 로 들어가기 vpc 에 들어가면 라우팅 테이블 목록이 있다. 라우팅 테이블을 선택한다. 테이블 목록에서 RDS 와 연결되어 있는 것을 찾아야 한다. 아마..

Spring/DB 2023.01.17

Ehcache 를 사용한 Cache 이용해보기

쇼핑몰 개인프로젝트를 만드는 중, 캐시에 대한 궁금증이 생겨 적용을 해보고 싶은 계획이 있었다. 대부분 캐시를 사용하면 redis 를 사용하는 것을 봐와서 나도 redis를 도입해야 하나? 라는 생각을 했다. Ehcache 를 적용한 이유는 별도의 서버를 사용해서 생길 수 있는 네트워크 지연이나 단절과 같은 이슈가 없이 사용이 가능하며 ( Spring 내부적으로 동작 ) 서버 애플리케이션과 라이프사이클을 같이 하므로 사용하기 쉽기 때문에 선택했다. 도중에, "개발바닥" 유튜브에서 포털사이트의 뉴스 등에 EhCache 를 많이 사용한다는 것을 듣고 어떤 캐시방식인지 궁금해 찾아보게 되었다. c2c쇼핑몰이라고 하면, 상품을 클릭하면 나오는 상세페이지에 사용할 수 있지 않을까 생각했다. 이유는, 상품 사진이 ..

Spring/DB 2023.01.02

H2 데이터베이스 데이터 유지하기

보통 프로젝트 시, 초기 개발단계에서는 가벼운 H2 데이터베이스를 많이 이용한다. 현재 내가 프로젝트에는 H2 인메모리 주소를 사용하고 있다. ddl-auto 가 none 이든 create-drop 이든 어떤 설정으로 해도 휘발성이기 때문에, 프로젝트를 다시 시작하게 되면 H2 DB 에 들어있는 데이터가 모두 증발해버린다. 구현이 거의 마무리되어가고, 데이터가 사라지는 것을 방지하고 싶어 해결방안을 찾아보았다. 기존 yml 파일의 내용을 보면, url 이 인메모리로 되어있는 것을 볼 수 있다. spring: h2: console: enabled: true path: /h2-console datasource: url: jdbc:h2:mem:shop username: sa password: driver-cl..

Spring/DB 2022.12.20