fix(shipdetail): ShipDetailUpdateDataReader beforeFetch NPE 수정 #67

병합
HYOJIN bugfix/fix-shipdetail-update-npe 에서 develop 로 2 commits 를 머지했습니다 2026-03-18 10:18:30 +09:00
2개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제

파일 보기

@ -50,6 +50,7 @@
- RECOLLECT 모드에서 Tasklet 자체 스킵으로 last_success_date 복원 로직 제거 (#50) - RECOLLECT 모드에서 Tasklet 자체 스킵으로 last_success_date 복원 로직 제거 (#50)
- Quartz PostgreSQLDelegate BYTEA 컬럼 읽기 오류 수정 (#12) - Quartz PostgreSQLDelegate BYTEA 컬럼 읽기 오류 수정 (#12)
- CronPreview step=0 무한루프 방지 - CronPreview step=0 무한루프 방지
- ShipDetailUpdateDataReader beforeFetch에서 allImoNumbers 미할당으로 인한 NPE 수정
### 변경 ### 변경
- 실패 레코드 Upsert 패턴 적용 (동일 키 중복 방지) - 실패 레코드 Upsert 패턴 적용 (동일 키 중복 방지)

파일 보기

@ -122,7 +122,7 @@ public class ShipDetailUpdateDataReader extends BaseApiReader<ShipDetailDto> {
} else { } else {
log.info("[{}] 변경된 IMO 번호 조회 시작...", getReaderName()); log.info("[{}] 변경된 IMO 번호 조회 시작...", getReaderName());
ShipUpdateApiResponse response = callShipUpdateApi(); ShipUpdateApiResponse response = callShipUpdateApi();
List<String> fullList = extractUpdateImoNumbers(response); allImoNumbers = extractUpdateImoNumbers(response);
log.info("[{}] 총 {} 개의 변경된 IMO 번호 조회 완료", getReaderName(), allImoNumbers.size()); log.info("[{}] 총 {} 개의 변경된 IMO 번호 조회 완료", getReaderName(), allImoNumbers.size());
} }