GitHub actions runner 변경으로 인해 testcontainers 호환 트러블 슈팅
·
상황갑작스럽게 PR의 CI가 실패하는 상황이 발생했다.기존에 정상적으로 성공하던 코드베이스가 실패하고 있었다.목표원인을 파악해서 CI를 정상적으로 만들자는 목표를 세웠다.실행먼저 CI가 왜 실패하는지 먼저 파악했다.데이터베이스를 띄우는 통합 테스트들이 실패하고 있었고, ContextLoad 테스트에서도 터지고 있었다.FestabookApplicationTests > contextLoads FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractB..
[Spring Boot] 등록 요청의 중복 방지하기, 멱등성 보장
·
Spring
개요프로젝트를 진행하던 중 게시글의 요청이 연속으로 두 번 오면 게시글이 2개 작성되서 이전에 만들어둔 로직과 충돌하는 일이 발생했다.기존의 로직은 현재 진행중인 게시글이 있다면 더이상 게시글이 작성되지 않도록 했지만 연속으로 들어오는 요청을 방지할 방안이 없었다.즉, 2개의 요청이 들어왔을 때, 진행중인 게시글의 존재 여부를 체크를 2개의 요청이 모두 넘어가면 2개의 게시글 모두 작성된다는 문제가 발생한다.문제의 코드@Override public WantedResponseDTO createWanted(WantedDTO wantedDTO, MultipartFile mainImage, MultipartFile signature) throws IOException { UserEntity u..