59장. Camel CDI

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

Camel CDI 구성 요소는 Camel 2.10 으로 제공되지만 CDI 프로그래밍 모델에 더 적합하도록 Camel 2.17 에서 다시 작성되었습니다. 따라서 Camel 이벤트 브릿지와 같은 일부 기능은 CDI 이벤트 브릿지에 대한 일부 기능은 Camel 2.17을 시작하는 경우에만 적용됩니다.

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

경고

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

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

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

@Inject
CamelContext context;

이 기본 CamelContext Bean은 기본 제공 @Default 의 적용 대상이며 범위가 @ApplicationScoped 이며 DefaultCamelContext 유형입니다.

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