Skip to content

Conversation

@Dimo-2562
Copy link
Contributor

❤️ 기능 설명

RSS 크롤링 로깅을 JobExecutionListener로 통합하여 관심사 분리 및 코드 간결화

주요 변경 사항

1. RssCrawlingJobListener 생성

  • Spring Batch의 표준 패턴인 JobExecutionListener 구현
  • beforeJob: CrawlingHistory 생성 및 시작 로깅
  • afterJob: 성공/실패 처리, 통계 로깅, Webhook 알림

2. CrawlingService 단순화

  • waitForJobCompletion() 폴링 로직 제거
  • handleJobSuccess(), handleJobFailure() 메서드 제거 (Listener로 이동)
  • Job 실행만 담당하도록 단순화 (143줄 → 46줄)

3. BatchController 정리

  • CrawlingService 사용으로 통일
  • 불필요한 로깅 제거 (JobExecutionListener가 담당)
  • Controller는 순수하게 API 요청만 처리

4. Repository 메서드 추가

  • CrawlingHistoryRepository에 findByJobExecutionId() 추가

개선 효과

  • ✅ 관심사 분리: Scheduler(스케줄링+락) / Service(실행) / Listener(로깅+History+알림)
  • ✅ Spring Batch 표준 패턴 준수
  • ✅ 코드 간결화 및 유지보수성 향상
  • ✅ 폴링 로직 제거로 성능 개선

swagger 테스트 성공 결과 스크린샷 첨부
image


연결된 issue

연결된 issue를 자동으로 닫기 위해 아래 {이슈넘버}를 입력해주세요.

close #139



✅ 체크리스트

  • PR 제목 규칙 잘 지켰는가?
  • 추가/수정사항을 설명하였는가?
  • 테스트 결과 사진을 넣었는가?
  • 이슈넘버를 적었는가?

@Dimo-2562 Dimo-2562 self-assigned this Jan 3, 2026
@Dimo-2562 Dimo-2562 added ✨ IMPROVE 기존 기능 변경 🏢 domain:source 테크블로그 출처 labels Jan 3, 2026
@Dimo-2562 Dimo-2562 merged commit 0eef55d into develop Jan 3, 2026
1 check passed
@Dimo-2562 Dimo-2562 deleted the improve/#139 branch January 3, 2026 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🏢 domain:source 테크블로그 출처 ✨ IMPROVE 기존 기능 변경

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[IMPROVE] Spring Batch Job Listener 도입으로 크롤링 로깅/히스토리 통합

2 participants