59.19. 在 {wildfly-camel} 上进行 EAR 部署的 Camel CDI
与标准 WAR 或 JAR 部署相比,在 {wildfly-camel} 上的 Camel CDI EAR 部署在类和资源加载方面存在一些差异。
{WildFly} bootstraps weld 使用 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 搭配使用的正确 ClassLoader。