--- kind: CONCEPT slug: messaging-inbox-jdbc-postgresql-c05 title: 일시적 인프라 문제가 재시도 불가로 분류된다 topic: state-machines-and-ownership project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:messaging-inbox-jdbc-postgresql-c05 evidenceCapturedOn: 2026-09-01 assets: - key: messaging-inbox-jdbc-postgresql-c05 file: ../../../final/evidence/rendered/messaging-inbox-jdbc-postgresql-c05.svg evidence: - ../../../final/evidence/raw/messaging-inbox-jdbc-postgresql-c05.txt source: - 원본 분석 절은 final/document.md#a19-messaging-inbox-jdbc-postgresql#L329 이다. module: messaging-inbox-jdbc-postgresql --- # 일시적 인프라 문제가 재시도 불가로 분류된다 SQL 실패 셋이 전부 `MessagingConfigurationException`이고 그 카테고리는 `CONFIGURATION`, `retryable = false`다. 그런데 `SQLException`의 원인은 대부분 일시적 인프라 문제다. ## 관계 - **컬럼 폭은 애플리케이션 검증과 짝을 이룬다** 같은 분석 리프에서 끌어낸 규칙이다. - **같은 안전 규칙은 한 공식과 한 강제 시점을 갖는다** 같은 분석 리프에서 끌어낸 규칙이다. ## 본문 **SQL 실패 셋이 전부 `MessagingConfigurationException`이다.** 그 예외의 카테고리는 `CONFIGURATION`이고 `retryable = false`다. 그런데 `SQLException`의 원인은 대부분 **일시적 인프라 문제**(연결 끊김, 데드락, 타임아웃)다. 즉 재시도 가능한 실패가 재시도 불가로 분류된다. §17. ## MessagingConfigurationException 참조 위치 :::evidence key="messaging-inbox-jdbc-postgresql-c05" alt="코드베이스에서 MessagingConfigurationException 를 검색한 출력 19줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="MessagingConfigurationException 코드베이스 검색 — 19줄 · exit 0" zoom="true" ::: ## 분류가 정확한 하나 `INBOX_ACTION_FAILED`만 `TRANSIENT_INFRASTRUCTURE`/`retryable = true`이고 예외가 아니라 `HandleResult`로 흐른다.