Skip to content

[REFACTOR] Webhook 전용 HTTP client 분리 및 timeout 정책 정리#95

Open
minyongP wants to merge 1 commit into
developfrom
refactor/89-webhook-http-client-split
Open

[REFACTOR] Webhook 전용 HTTP client 분리 및 timeout 정책 정리#95
minyongP wants to merge 1 commit into
developfrom
refactor/89-webhook-http-client-split

Conversation

@minyongP

@minyongP minyongP commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

관련 작업 / 이슈


내용 요약 (Description)

  • Judge0와 Webhook이 공유하던 RestTemplate wiring을 분리했습니다.

  • Judge0/Webhook 외부 연동 설정을 각 패키지(external/judge0, external/webhook)로 이동했습니다.

  • Webhook 전용 timeout 설정(app.webhook-alert.http.*)을 추가했습니다.

  • SubmissionService, RestTemplateWebhookSender가 각각 명시적인 전용 bean을 주입받도록 변경했습니다.

  • 내용:

    • judge0RestTemplate, webhookRestTemplate 분리
    • WebhookConfig, WebhookHttpProperties, Judge0Config 추가
    • 관련 config 테스트 추가
    • application.yml, application-test.yml에 Webhook timeout 설정 추가

테스트

  • 테스트 시나리오 설명:
    • ./gradlew compileJava compileTestJava
    • 대상 테스트 직접 실행
      • com.ujax.infrastructure.external.judge0.Judge0ConfigTest
      • com.ujax.infrastructure.external.webhook.WebhookConfigTest
      • com.ujax.infrastructure.external.webhook.RestTemplateWebhookSenderTest
      • com.ujax.application.submission.SubmissionServiceTest
    • pre-push hook에서 ./gradlew verify 자동 실행 및 통과 후 push 완료

PR 체크리스트

  • 관련 이슈(작업 항목)를 PR 설명에 연결했다.
  • ./gradlew verify 를 로컬에서 실행해 모두 통과함.
  • 불필요한 로그, 디버깅 코드, 주석을 제거했다.
  • 이 변경과 충돌할 수 있는 다른 PR이나 변경 사항이 없는지 확인했다.

Breaking Change 여부

  • Yes (호환성 깨짐 있음)
  • No

로그 / 스크린샷 (선택)

  • 없음

기타 정보 / 의존성 (선택)

Judge0와 Webhook 전용 RestTemplate bean을 분리하고 Webhook timeout 설정을 추가한다.
외부 연동별 Config와 테스트를 정리해 wiring 의도를 명확히 한다.

Resolves : #89
See also : #88, #92

@kwongwangjae kwongwangjae left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Webhook timeout 설정 때문에 이렇게 한거지?? 진욱이형이랑 확인하고 체크하면 될듯??

@minyongP minyongP marked this pull request as ready for review April 14, 2026 00:12
@minyongP

Copy link
Copy Markdown
Contributor Author

그건 아니고 기존에 restTemplate쓸때 judge0 설정이랑 같이 적으면서 결합도가 커져서 좀 분리하려고

@kwongwangjae

Copy link
Copy Markdown
Member

아 오키오키 확인했슴다!

@minyongP minyongP self-assigned this Apr 14, 2026
minyongP added a commit that referenced this pull request Apr 14, 2026
공용 템플릿 렌더링과 Mattermost 전송 책임을 분리하고 transport 계층을 분리한다.\n\nResolves : #90\nSee also : #88, #95
@minyongP minyongP added the refactoring code refactoring label Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring code refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] Webhook 전용 HTTP client 분리 및 timeout 정책 정리

2 participants