--- kind: CONCEPT slug: messaging-observability-c02 title: 재료 둘만 bean으로 있고 그것을 조립하는 것이 없다 topic: observability-models project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:messaging-observability-c02 evidenceCapturedOn: 2026-09-01 assets: - key: messaging-observability-c02 file: ../../../final/evidence/rendered/messaging-observability-c02.svg evidence: - ../../../final/evidence/raw/messaging-observability-c02.txt source: - 원본 분석 절은 analysis/messaging/messaging-observability.md#L70 이다. module: messaging-observability --- # 재료 둘만 bean으로 있고 그것을 조립하는 것이 없다 출하 조립에서 bean으로 등록되는 것은 `MessagingRedactor`와 `CardinalityGuard` 둘이다. 둘 다 `MessagingMetrics`의 생성자 인자인데 `MessagingMetrics` bean이 없다. ## 관계 - **타입이 문서화한 불변식은 타입이 강제한다** 같은 분석 리프에서 끌어낸 규칙이다. ## 본문 들어오는 것: `messaging-core-api`(api), `micrometer-core`(api). 나가는 것: `messaging-runtime-core`, `messaging-kafka`, `messaging-rabbit`, `messaging-admin-runtime`, `messaging-pulsar-experimental`, `messaging-nats-experimental`, `messaging-spring-boot-starter`. ## 출하 조립이 등록하는 bean 둘 | bean | 라인 | 소비 | |---|---:|---| | `MessagingRedactor` | `MessagingCoreAutoConfiguration:253` | **없음** | | `CardinalityGuard` | `:264` | **없음** | ## MessagingMetrics 참조 위치 :::evidence key="messaging-observability-c02" alt="코드베이스에서 MessagingMetrics 를 검색한 출력 16줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="MessagingMetrics 코드베이스 검색 — 16줄 · exit 0" zoom="true" ::: ## 재료는 있는데 조립하는 bean이 없다 두 클래스는 `MessagingMetrics`의 생성자 인자다. 그런데 `MessagingMetrics` bean이 없다(§12.1). `MessagingTracer`·`MessagingAuditSink`·`DefaultMessagingObservationConvention`은 bean도 없고 소비자도 없다.