60.14. lazy injection / Programmatic Lookup


CDI programmatic 모델은 애플리케이션 초기화 시 발생하는 typesafe resolution 메커니즘을 선호하지만 나중에 프로그래밍 방식 조회 메커니즘을 사용하여 애플리케이션 실행 중에 동적 / 지연 삽입을 수행할 수 있습니다.

Camel CDI는 Camel 프리미티브의 표준 주입에 사용할 수 있는 CDI 한정자에 해당하는 주석 리터럴을 편의를 제공합니다. 이러한 주석 리터럴은 지연 주입 / 프로그램 조회를 수행하는 CDI 진입점인 javax.enterprise.inject.Instance 인터페이스와 함께 사용할 수 있습니다.

예를 들어 @Uri 한정자에 대해 제공된 주석 리터럴을 사용하여 Camel 기본에 대해 지체적으로 조회할 수 있습니다(예: ProducerTemplate 빈의 경우).

@Any
@Inject
Instance<ProducerTemplate> producers;

ProducerTemplate inbound = producers
    .select(Uri.Literal.of("direct:inbound"))
    .get();
Copy to Clipboard Toggle word wrap

또는 Endpoint 빈의 경우 다음을 수행합니다.

@Any
@Inject
Instance<Endpoint> endpoints;

MockEndpoint outbound = endpoints
    .select(MockEndpoint.class, Uri.Literal.of("mock:outbound"))
    .get();
Copy to Clipboard Toggle word wrap

마찬가지로 @ContextName 한정자에 대해 제공된 주석 리터럴을 사용하여 CamelContext 빈을 지연할 수 있습니다. 예를 들면 다음과 같습니다.

@Any
@Inject
Instance<CamelContext> contexts;

CamelContext context = contexts
    .select(ContextName.Literal.of("foo"))
    .get();
Copy to Clipboard Toggle word wrap

Camel 컨텍스트 유형을 기반으로 선택 사항을 구체화할 수도 있습니다. 예를 들면 다음과 같습니다.

@Any
@Inject
Instance<CamelContext> contexts;

// Refine the selection by type
Instance<DefaultCamelContext> context = contexts.select(DefaultCamelContext.class);

// Check if such a bean exists then retrieve a reference
if (!context.isUnsatisfied())
    context.get();
Copy to Clipboard Toggle word wrap

Camel 컨텍스트를 선택하는 단계를 반복할 수도 있습니다. 예를 들면 다음과 같습니다.

@Any
@Inject
Instance<CamelContext> contexts;

for (CamelContext context : contexts)
    context.setUseBreadcrumb(true);
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat