59장. Camel CDI

Camel CDI 구성 요소는 convention-over-configuration 을 기반으로 CDI를 종속성 주입 프레임워크로 사용하여 Apache Camel에 대한 자동 구성을 제공합니다. 애플리케이션에서 사용할 수 있는 Camel 경로를 자동으로 탐지하고 엔드포인트FluentProducerTemplate,ProducerTemplate 또는 TypeConverter 와 같은 일반적인 Camel 프리미티브에 대한 빈을 제공합니다. @Consume@Produce 및 @PropertyInject 와 같은 Camel 주석을 CDI 빈에서 원활하게 사용할 수 있도록 표준 Camel 빈 통합을 구현합니다. 또한 Camel 이벤트(예: RouteAddedEvent,CamelContextStartedEventExchangeCompletedEvent, …​)를 CDI 이벤트로 연결하고 /에서 Camel 경로에서 CDI 이벤트를 생성/생성하는 데 사용할 수 있는 CDI 이벤트 끝점을 제공합니다.

Camel 2.10 에서 Camel CDI 구성 요소를 사용할 수 있지만 CDI 프로그래밍 모델에 더 잘 부합하도록 Camel 2.17 에서 다시 작성됩니다. 따라서 Camel 이벤트와 CDI 이벤트 브리지와 CDI 이벤트 끝점과 같은 일부 기능은 Camel 2.17부터만 적용됩니다.

Camel CDI 애플리케이션을 테스트하는 방법에 대한 자세한 내용은 Camel CDI 테스트에서 확인할 수 있습니다.

경고

Camel-cdi는 OSGi에서 더 이상 사용되지 않으며 지원되지 않습니다. OSGi와 함께 Camel을 사용하는 경우 OSGi Blueprint를 사용합니다.

59.1. 자동 구성된 Camel 컨텍스트

Camel CDI는 CamelContext 빈을 자동으로 배포 및 구성합니다. CDI 컨테이너가 초기화(resp. shuts down)할 때 CamelContext 빈이 자동으로 인스턴스화, 구성 및 시작(resp. stopped)됩니다. 다음과 같이 애플리케이션에 삽입할 수 있습니다.

@Inject
CamelContext context;

기본 CamelContext 빈은 기본 제공 @Default 한정자로 정규화되며 범위가 @ApplicationScoped 이며 DefaultCamelContext 유형입니다.

이 빈은 프로그래밍 방식으로 사용자 지정할 수 있으며 기타 Camel 컨텍스트 빈을 애플리케이션에도 배포할 수 있습니다.