Skip to content

chore: 쓰지 않는 Quartz·Spring Batch 스타터 제거 - #123

Merged
RosieOh merged 1 commit into
mainfrom
chore/remove-unused-starters
Sep 24, 2026
Merged

RosieOh merged 1 commit into
mainfrom
chore/remove-unused-starters

Conversation

@RosieOh

@RosieOh RosieOh commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

Closes #122

왜

로컬 전체 테스트가 끝나지 않았다. 스레드 덤프로 보니 테스트는 4분에 끝났고 이후 30분 넘게 JVM 종료 대기 — 비데몬 Quartz 워커 130개(컨텍스트 13개 × 10개)가 붙잡고 있었다. 그런데 Quartz 를 쓰는 코드가 없다(org.quartz 0건, Job 빈 0건, 설정 없음). Batch 도 동일.

변경

  • build.gradle: starter-quartz, starter-batch, spring-batch-test 제거
  • application.yml: 실행할 잡이 없어 의미 없던 spring.batch 설정 제거
  • 테스트 14개 파일: spring.autoconfigure.exclude 의 BatchAutoConfiguration, spring.batch.job.enabled 정리
    (없는 클래스를 exclude 에 남기면 컨텍스트 기동이 실패한다)

결과

전 후
전체 테스트 종료되지 않음(30분+ 대기) 3분 41초
통과 — 554개, 실패 0, skip 0
앱 유휴 스레드 Quartz 워커 10개 없음

기능 변경 없음. 나중에 Quartz 가 필요해지면 그때 다시 추가하면 된다.

두 스타터가 의존성에 있지만 쓰는 코드가 없다. org.quartz 참조 0건, JobDetail·QuartzJobBean 0건,
Job·Step 빈 0건이고 설정도 "기동 시 잡 자동 실행 비활성화" 뿐이었다. 주기 작업은 전부 @scheduled 다.

Quartz 는 컨텍스트마다 비데몬 워커 스레드 10개를 띄운다. 테스트에서는 Spring 컨텍스트가 13개라
비데몬 스레드 130개가 남아 테스트 JVM 이 종료되지 못하고 34분간 멈춰 있었다
(스레드 덤프: 테스트는 4분에 끝났고 이후 전부 종료 대기). 운영에서도 아무 일도 하지 않는
스레드 10개가 떠 있었다.

- build.gradle: starter-quartz, starter-batch, spring-batch-test 제거
- application.yml: 실행할 잡이 없어 의미 없던 spring.batch 설정 제거
- 테스트 14개 파일: 없어진 자동설정 제외 목록·spring.batch 프로퍼티 정리
  (없는 클래스를 spring.autoconfigure.exclude 에 두면 기동이 실패한다)
@RosieOh
RosieOh merged commit 5e76e63 into main Sep 24, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ 인프라 ] 쓰지 않는 Quartz·Batch 스타터가 테스트 JVM 종료를 막는다

1 participant