60장. Camel CDI
Camel CDI 구성 요소는 규칙 초과 구성을 기반으로 CDI를 종속성 주입 프레임워크로 사용하여 Apache Camel에 대한 자동 구성 을 제공합니다. 애플리케이션에서 사용할 수 있는 Camel 경로를 자동으로 감지하고 Endpoint
,FluentProducerTemplate
,ProducerTemplate
또는 TypeConverter
와 같은 일반적인 Camel 프리미티브를 제공합니다. CDI 빈에서 @Consume
,@Produce
및 @PropertyInject
와 같은 Camel 주석을 원활하게 사용할 수 있도록 표준 Camel 빈 통합을 구현합니다. 또한 Camel 이벤트(예: RouteAddedEvent
,CamelContextStartedEvent
,changeCompletedEvent
, …)를 CDI 이벤트 이벤트로 연결하고 /에서 Camel 경로로 CDI 이벤트를 사용/생성하는 데 사용할 수 있는 CDI 이벤트 끝점을 제공합니다.
Camel CDI 구성 요소는 Camel 2.10 으로 사용할 수 있지만 CDI 프로그래밍 모델에 더 적합하도록 Camel 2.17 에서 다시 작성되었습니다. 따라서 Camel 이벤트와 같은 일부 기능은 CDI 이벤트 브릿지 및 CDI 이벤트 끝점과 같은 일부 기능은 Camel 2.17 시작만 적용됩니다.
Camel CDI 테스트에서 Camel CDI 애플리케이션을 테스트하는 방법에 대한 자세한 내용은 다음을 참조하십시오.
Camel-cdi는 OSGi에서 더 이상 사용되지 않으며 지원되지 않습니다. OSGi와 Camel을 사용하는 경우 OSGi 블루프린트를 사용하십시오.
60.1. 자동 구성 Camel 컨텍스트
Camel CDI는 CamelContext
8080을 자동으로 배포하고 구성합니다. 해당 CamelContext
8080은 CDI 컨테이너가 초기화(resp. shuts down)할 때 자동으로 인스턴스화, 구성 및 시작(resp. stopped)됩니다. 애플리케이션에 삽입할 수 있습니다. 예를 들면 다음과 같습니다.
@Inject CamelContext context;
기본 CamelContext
8080은 기본 제공 @Default
한정자를 사용하여 인증되며 범위가 지정된 @ApplicationScoped
이며 DefaultCamelContext
입니다.
이 빈은 프로그래밍 방식으로 사용자 지정할 수 있으며 기타 Camel 컨텍스트 빈도 애플리케이션에 배포할 수 있습니다.