59.19. WildFly-Camel에서 EAR 배포에 대한 Camel CDI

WildFly-Camel의 Camel CDI EAR 배포는 표준 WAR 또는 JAR 배포와 비교하여 클래스 및 리소스 로드 동작에서 몇 가지 차이점이 있습니다.

EAR 배포 클래스Loader를 사용한 WildFly 부트스트랩. WildFly에서는 모든 EAR 하위 배포에서 단일 CDI 확장만 생성하고 공유해야 합니다.

그러면 EAR 배포 ClassLoader를 사용하여 클래스 및 리소스를 동적으로 로드하기 위해 '자동 구성' CDI Camel Context가 생성됩니다. 기본적으로 이 ClassLoader는 EAR 하위 배포 내의 리소스에 액세스할 수 없습니다.

EAR 배포의 경우 'Auto-configured' CDI Camel Context를 사용하지 않도록 하고 RouteBuilder 클래스에 @ContextName 로 주석을 달거나 @ImportResource 주석을 통해 CamelContext 를 만들거나 CDI 생산자 메서드 및 필드를 통해 생성하는 것이 좋습니다. 이는 WildFly-Camel이 Camel과 함께 사용할 올바른 ClassLoader를 결정하는 데 도움이 됩니다.