60.19. 在 WildFly-Camel 上进行 EAR 部署的 Camel CDI

与标准 WAR 或 JAR 部署相比,Camel 上的 Camel CDI EAR 部署在类和资源加载方面有一些区别。

WildFly 引导我们使用 EAR 部署类Loader。WildFly 也要求所有 EAR 子部署只创建和共享一个 CDI 扩展。

这将通过使用 EAR 部署类Loader 来动态加载类和资源,生成 'Auto-configured' CDI Camel 上下文。默认情况下,这个类Loader 无法访问 EAR 子部署中的资源。

对于 EAR 部署,建议避免使用 'Auto-configured' CDI Camel 上下文,并避免了 RouteBuilder 类,或使用 @ContextName 注释或 CamelContext 通过 @ImportResource 注释和字段创建。这有助于 WildFly-Camel 确定用于 Camel 的正确类Loader。