--- kind: CONCEPT slug: messaging-inbox-jdbc-postgresql-c02 title: starter가 셋을 만들고 InboxRepository는 그 목록에 없다 topic: transaction-and-consistency-models project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:messaging-inbox-jdbc-postgresql-c02 evidenceCapturedOn: 2026-09-01 assets: - key: messaging-inbox-jdbc-postgresql-c02 file: ../../../final/evidence/rendered/messaging-inbox-jdbc-postgresql-c02.svg evidence: - ../../../final/evidence/raw/messaging-inbox-jdbc-postgresql-c02.txt source: - 원본 분석 절은 final/document.md#a19-messaging-inbox-jdbc-postgresql#L98 이다. module: messaging-inbox-jdbc-postgresql --- # starter가 셋을 만들고 InboxRepository는 그 목록에 없다 starter의 `MessagingReliabilityAutoConfiguration`이 세 bean을 만드는데 `JdbcInboxRepository`는 그 목록에 없다. ## 관계 - **컬럼 폭은 애플리케이션 검증과 짝을 이룬다** 같은 분석 리프에서 끌어낸 규칙이다. - **같은 안전 규칙은 한 공식과 한 강제 시점을 갖는다** 같은 분석 리프에서 끌어낸 규칙이다. ## 본문 들어오는 것: `messaging-core-api`(api), `messaging-reliability-api`(api), `spring-jdbc`·`spring-tx`(implementation). 나가는 것: `messaging-spring-boot-starter`. ## MessagingReliabilityAutoConfiguration 참조 위치 :::evidence key="messaging-inbox-jdbc-postgresql-c02" alt="코드베이스에서 MessagingReliabilityAutoConfiguration 를 검색한 출력 3줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="MessagingReliabilityAutoConfiguration 코드베이스 검색 — 3줄 · exit 0" zoom="true" ::: ## 만들어지는 것과 만들어지지 않는 것 **배선됨.** starter의 `MessagingReliabilityAutoConfiguration`이 셋을 만든다. `JdbcInboxRepository`는 그 목록에 없다 — `InboxRepository` bean을 누가 만드는지는 starter leaf가 답한다. ## Spring 타입을 쓰는 두 곳 `DataSourceUtils`와 `TransactionSynchronizationManager`. 둘 다 `implementation` scope이고 public 시그니처에 나오지 않으므로 vendor `api` 규칙에 맞는다.