2.10.3. 追加の Camel Quarkus 設定
2.10.3.1. Simple 言語
2.10.3.1.1. OGNL 表記の使用
Simple 言語から OGNL 表記を使用する場合は、camel-quarkus-bean
エクステンションを使用する必要があります。
たとえば、以下の簡易式は、Client
型のメッセージボディーの getAddress()
メソッドにアクセスします。
--- simple("${body.address}") ---
このような場合、ここで説明される ように、camel-quarkus-bean エクステンションで追加の依存関係を取る必要があります。ネイティブモードでは、反映するためにいくつかのクラスを登録する必要がある場合があります。上記の例では、Client
クラスを 反映するために登録する 必要があります。
2.10.3.1.2. ネイティブモードでの動的型解決の使用
${mandatoryBodyAs(TYPE)}
、${type:package.Enum.CONSTANT}
、または ${body} is TYPE
などの単純な式から型を動的に解決する場合は、反映するために手動で一部のクラスを登録する必要がある場合があります。
たとえば、以下の単純な式は、ランタイム時に java.nio.ByteBuffer
型を動的に解決します。
--- simple("${body} is 'java.nio.ByteBuffer'") ---
したがって、java.nio.ByteBuffer
クラスを 反映するために登録する 必要があります。
2.10.3.1.3. ネイティブモードでのクラスパスリソースと Simple 言語の使用
次の例のように、ルートがクラスパスから Simple スクリプトをロードすることになっている場合
from("direct:start").transform().simple("resource:classpath:mysimple.txt");
次に、Quarkus quarkus.native.resources.includes
プロパティーを使用して、以下に示すようにネイティブ実行可能ファイルにリソースを含める必要があります。
quarkus.native.resources.includes = mysimple.txt
2.10.3.1.4. ネイティブモードのプロパティーを介したカスタム Bean の設定
#class:*
や #type:*
などの設定でネイティブモードのプロパティーを介してカスタム Bean を指定する場合は、リフレクション用にいくつかのクラスを手動で登録する必要がある場合があります。
たとえば、以下のカスタム Bean 定義には、Bean のインスタンス化とセッターの呼び出しにリフレクションを使用することが含まれます。
--- camel.beans.customBeanWithSetterInjection = #class:org.example.PropertiesCustomBeanWithSetterInjection camel.beans.customBeanWithSetterInjection.counter = 123 ---
そのため、クラス PropertiesCustomBeanWithSetterInjection
を リフレクション用に登録 する必要があります。この場合は、フィールドアクセスを省略できることに注意してください。
設定プロパティー | タイプ | デフォルト |
---|---|---|
true に設定すると、 |
|
|
クラスパスの Camel サービス定義ファイルと一致する Ant-path フォーマットのパターンのコンマ区切りリスト。一致するファイルで定義されたサービスは、 |
| |
クラスパスの Camel サービス定義ファイルと一致する Ant-path フォーマットのパターンのコンマ区切りリスト。指定したファイルが |
| |
クラスパスの Camel サービス定義ファイルと一致する Ant-path フォーマットのパターンのコンマ区切りリスト。一致するファイルで定義されたサービスは、アプリケーションの静的初期化中に Camel レジストリーに追加されません。除外は包含よりも優先されます。ここで定義された除外は、Camel Quarkus エクステンションで追加されたサービスの登録を拒否するのにも使用できます。値の例: |
| |
クラスパスの Camel サービス定義ファイルと一致する Ant-path フォーマットのパターンのコンマ区切りリスト。指定したファイルが |
| |
|
|
|
|
|
|
|
|
|
|
|
|
静的な初期化時のルートの自動検出を有効にします。 |
|
|
RouteBuilder クラスの除外フィルタースキャンに使用されます。除外フィルタリングは、包含フィルターよりも優先されます。パターンは Ant-path スタイルのパターンを使用しています。複数のパターンをコンマで区切って指定することができます。たとえば、Bar から始まるすべてのクラスを除外するには、**/Bar* を使用します。特定のパッケージからのすべてのルートを除外するには、com/mycompany/bar/* を使用します。特定のパッケージおよびそのサブパッケージからのすべてのルートを除外するには、2 つのワイルドカードを使用します (com/mycompany/bar/**)。特定の 2 つのパッケージからのすべてのルートを除外するには、com/mycompany/bar/*,com/mycompany/stuff/* を使用します。 |
| |
RouteBuilder クラスの包含フィルタースキャンに使用されます。除外フィルタリングは、包含フィルターよりも優先されます。パターンは Ant-path スタイルのパターンを使用しています。複数のパターンをコンマで区切って指定することができます。たとえば、Foo から始まるすべてのクラスを含めるには、**/Foo* を使用します。特定のパッケージからのすべてのルートを含めるには、com/mycompany/foo/* を使用します。特定のパッケージおよびそのサブパッケージからのすべてのルートを含めるには、2 つのワイルドカードを使用します (com/mycompany/foo/**)。特定の 2 つのパッケージからのすべてのルートを含めるには、com/mycompany/foo/*,com/mycompany/stuff/* を使用します。 |
| |
Camel Quarkus 2.0.0 では |
| |
Camel Quarkus 2.0.0 では、 |
| |
反映のために登録から除外されるクラス名に一致する Ant-path フォーマットのパターンのコンマ区切りリスト。 |
| |
反映のために登録されるクラス名に一致する Ant-path フォーマットのパターンのコンマ区切りリスト。 |
| |
|
|
|
ビルド時にルート定義から CSimple 式を抽出できない場合の指示。 |
|
|
Camel イベントから CDI イベントへのブリッジを有効にするかどうか。これにより、CDI オブザーバーを Camel イベント用に設定できます。たとえば、 |
|
|
|
|
|
|
|
|
|
|
|
ビルド時に修正される設定プロパティー。その他の設定プロパティーはすべて、ランタイム時にオーバーライドが可能です。