Red Hat Training

A Red Hat training course is available for Red Hat Fuse

57.19. {wildfly-camel} での EAR デプロイメント用の Camel CDI

{wildfly-camel} での Camel CDI EAR デプロイメントは、標準の WAR または JAR デプロイメントと比較して、クラスおよびリソースのロード動作にいくつかの違いがあります。

{wildfly} は、EAR デプロイメント ClassLoader を使用して Weld をブートストラップします。{wildfly} は、単一の CDI 拡張機能のみが作成され、すべての EAR サブデプロイメントによって共有されることも義務付けています。

これにより、EAR デプロイメント ClassLoader を使用して自動設定 CDI Camel コンテキストが生成され、クラスとリソースが動的にロードされます。デフォルトでは、この ClassLoader は EAR サブデプロイメント内のリソースにアクセスできません。

EAR デプロイメントの場合、自動設定された CDI Camel コンテキストの使用を避け、RouteBuilder クラスに @ContextName のアノテーションを付けるか、@ImportResource アノテーションまたは CDI producer メソッドとフィールドを介して CamelContext を作成することをお勧めします。これは、{wildfly-camel} が Camel で使用する正しい ClassLoader を決定するのに役立ちます。