--- kind: CONCEPT slug: messaging-admin-api-c02 title: 부팅된 애플리케이션에서 살아나는 타입은 둘뿐이다 topic: security-and-trust-boundaries project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:messaging-admin-api-c02 evidenceCapturedOn: 2026-09-01 assets: - key: messaging-admin-api-c02 file: ../../../final/evidence/rendered/messaging-admin-api-c02.svg evidence: - ../../../final/evidence/raw/messaging-admin-api-c02.txt source: - 원본 분석 절은 analysis/messaging/messaging-admin-api.md#L98 이다. module: messaging-admin-api --- # 부팅된 애플리케이션에서 살아나는 타입은 둘뿐이다 leaf 밖 소비자는 21개 파일 4개 모듈이지만, 부팅된 애플리케이션에서 실제로 살아나는 것은 둘뿐이다. `MessagingAdminService` 빈도 `ApprovalVerifier` 빈도 없다. ## 본문 `messaging-core-api` 에서 쓰는 것: `DestinationName`, `MessageAuthorizationException`, `MessagingConfigurationException`. `messaging-policy` 는 `api` 로 선언돼 있지만 import 0건이다(§12.4). ## leaf 밖 소비자 21개 파일 | 모듈 | src/main | src/test | 역할 | |---|---:|---:|---| | `messaging-admin-runtime` | 10 | 6 | 실제 실행·검증 서비스 | | `messaging-spring-boot-starter` | 2 | 0 | 빈 배선 + 저널 내구성 검사 | | `messaging-outbox-jdbc-postgresql` | 1 | 1 | `JdbcAdminOperationJournal` | | `messaging-kafka` | 0 | 1 | `KafkaTopologyValidationIT` | ## DestinationName 참조 위치 :::evidence key="messaging-admin-api-c02" alt="코드베이스에서 DestinationName 를 검색한 출력 16줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="DestinationName 코드베이스 검색 — 16줄 · exit 0" zoom="true" ::: ## 빈이 없는 것이 설계인 범위 부팅된 애플리케이션에서 이 리프의 타입 중 실제로 살아나는 것은 **둘뿐**이다(`EVD-302`, `EVD-303`). `MessagingAdminService` 빈은 없고 `ApprovalVerifier` 빈도 없다. 이는 명시된 설계다. 그러나 이 스탠스가 **토폴로지 검증까지 덮지는 않는다** — §12.1 과 §17 의 첫 항목이 그것이다.