개발/Spring Boot

이번에 JPA를 통해서 외부 DB에서 데이터를 Read/Write를 수행하지만 Spring Batch의 메타 테이블은 분리하고 싶었습니다. Spring batch 5.0에서 @EnableBatchProcessing의 새로운 속성이 생겨 쉽게 구현할 수 있을 줄 알았습니다.Spring Batch가 구성해야 하는 dataSource 및 transactionManager를 지정할 수 있습니다. ⛔️ 주의점SpringBoot 3.0부터 @EnableBatchProcessing 혹은 DefaultBatchConfiguration을 상속받아 사용하면 AutoConfiguration이 동작하지 않습니다.더보기DefaultBatchConfiguration@EnabledBatchProcessing이 내부적으로 빈을 등록..
사용자의 메일함에서 뉴스레터가 전송한 메일을 여러개를 JpaItemWriter를 통해서 Insert 처리를 해주려고 합니다. 하지만 배치를 돌려보니 "Class 'class java.util.ArrayList' is not an entity class" 예외가 발생했습니다.Stack trace를 확인해보니 JpaItemWriter에서 write메서드가 수행되는데 받아온 객체가 Entity가 아니라 List.class라서 발생한 문제였습니다.doWrite를 호출하면서 SessionImpl 클래스에서 persist를 하기전에 체크하는 메서드들이 호출될 때 ArrayList는 Entity가 아니라서 예외가 발생하게 됩니다.즉 write 메서드에 T가 Article이 아니라 List이 들어오고 ArrayList..
회원탈퇴 로직을 작성하면서회원을 삭제하려면 UserService에서 많은 Entity들을 삭제해야 하는 문제가 있었다.도메인을 분리하지 않았던 문제가 가장 크다.댓글과 좋아요는 여행일정 게시물 테이블과 사용자를 참조하고 있다.여행일정 게시물과 토큰은 사용자를 참조하고 있었다. FK 제약조건의 문제점데이터 무결성을 위해서 사용하면 좋지만 회원탈퇴를 하면서 문제가 있었다. 사용자를 제거하기 위해서는 아래와 같은 순서를 지켜줘야 한다. 1. 여행 일정 게시물을 삭제하기 전에 댓글과 좋아요를 제거해야 한다.목적은 여행일정이 아니라 사용자를 제거하기 위함이다.사용자가 작성한 게시물과 게시물과 연관된 다른 사용자의 좋아요 댓글 + 사용자가 작성한 댓글 좋아요도 전부 삭제해야 한다.  2. 사용자를 삭제하기 전에 여..
풀 (Pool)이란? 컴퓨터 과학에서 풀은 사용할 때 획득한 메모리와 나중에 해제되는 메모리가 아닌, 사용할 준비가 된 메모리에 유지되는 리소스 모음이다. 이미 사용할 준비가 된 자원을 메모리 위에 일정량 미리 생성해둔 자원의 집합 클라이언트가 리소스 사용을 완료하면 해제 및 손실되지 않고 풀로 반환된다. 들어가기 전에 Connection Pool과 Thread Pool은 다르다는 점을 알고 가셨으면 좋겠습니다. 더보기 애플리케이션에 대한 모든 요청이 DB에 접근하는 것은 아니기 때문에 WAS의 Thread는 Connection Pool의 갯수보다 여유있게 설정하는것이 좋다. Connection Pool은 DB와 커넥션을 맺기 위한 드라이버를 로드하고 커넥션 객체를 생성하는 등의 과정에서 발생하는 비용..
사용자가 로그인하고 자동으로 바로 토큰을 재발급 할 일은 없겠지만 테스트 코드를 작성하면서 문제가 있었다. 아래 메서드를 통해서 refresh 토큰이 존재할 경우는 update query를 날려주고 존재하지 않으면 새로 insert query를 날려주기 위해서 변경 감지를 사용하지 않았다. Refresh Token으로 Access Token을 발급시 Refresh Token도 재발급 했다. 순조롭게 테스트를 작성했는데 문제가 발생했다. when절 (authService에 reissueToken 메서드) 쿼리 설명 select-query 2개는 업데이트를 하기 전에 token을 통해서 유저를 조회하는 로직이 있기 때문에 발생했다. one-to-one 관계로 refresh token ➡️ user로 단방향으..
uhanuu
'개발/Spring Boot' 카테고리의 글 목록