2.24. コア
Camel コア機能と基本的な Camel 言語/Constant、ExchangeProperty、Header、Ref、Simple および Tokenize
2.24.1. 含まれるもの リンクのコピーリンクがクリップボードにコピーされました!
使用方法と設定の詳細は、上記リンクを参照してください。
2.24.2. Maven コーディネート リンクのコピーリンクがクリップボードにコピーされました!
code.quarkus.redhat.com でこのエクステンションを使用して新しいプロジェクトの作成
または、既存のプロジェクトに座標を追加します。
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-core</artifactId>
</dependency>
2.24.3. 追加の Camel Quarkus 設定 リンクのコピーリンクがクリップボードにコピーされました!
2.24.3.1. Simple 言語 リンクのコピーリンクがクリップボードにコピーされました!
2.24.3.1.1. OGNL 表記の使用 リンクのコピーリンクがクリップボードにコピーされました!
Simple 言語から OGNL 表記を使用する場合は、camel-quarkus-bean エクステンションを使用する必要があります。
たとえば、以下の簡易式は、Client 型のメッセージボディーの getAddress() メソッドにアクセスします。
---
simple("${body.address}")
---
---
simple("${body.address}")
---
このような場合、ここで説明されているように、camel-quarkus-bean エクステンションで、追加の依存関係を取得する必要があります。ネイティブモードでは、反映するためにいくつかのクラスを登録する必要がある場合があります。上記の例では、Client クラスを 反映するために登録する 必要があります。
2.24.3.1.2. ネイティブモードでの動的型解決の使用 リンクのコピーリンクがクリップボードにコピーされました!
次のような単純な式から型を動的に解決する場合:
-
simple("${mandatoryBodyAs(TYPE)}") -
simple("${type:package.Enum.CONSTANT}") -
from("…").split(bodyAs(TYPE.class)) -
simple("${body} is TYPE")
反映するため、一部のクラスを手動で登録する必要がある場合があります。
たとえば、以下の単純な式は、ランタイム時に java.nio.ByteBuffer 型を動的に解決します。
---
simple("${body} is 'java.nio.ByteBuffer'")
---
---
simple("${body} is 'java.nio.ByteBuffer'")
---
したがって、java.nio.ByteBuffer クラスを 反映するために登録する 必要があります。
2.24.3.1.3. ネイティブモードでのクラスパスリソースと Simple 言語の使用 リンクのコピーリンクがクリップボードにコピーされました!
次の例のように、ルートがクラスパスから Simple スクリプトをロードすることになっている場合
from("direct:start").transform().simple("resource:classpath:mysimple.txt");
from("direct:start").transform().simple("resource:classpath:mysimple.txt");
次に、Quarkus quarkus.native.resources.includes プロパティーを使用して、以下に示すようにネイティブ実行可能ファイルにリソースを含める必要があります。
quarkus.native.resources.includes = mysimple.txt
quarkus.native.resources.includes = mysimple.txt
ネイティブ実行可能ファイルに含めるリソースの選択に関する詳細は、ネイティブ実行可能ファイルへのリソースの埋め込み を参照してください。
2.24.3.1.4. ネイティブモードのプロパティーを介したカスタム Bean の設定 リンクのコピーリンクがクリップボードにコピーされました!
#class:* や #type:* などの設定でネイティブモードのプロパティーを介してカスタム Bean を指定する場合は、リフレクション用にいくつかのクラスを手動で登録する必要がある場合があります。
たとえば、以下のカスタム Bean 定義には、Bean のインスタンス化とセッターの呼び出しにリフレクションを使用することが含まれます。
--- camel.beans.customBeanWithSetterInjection = #class:org.example.PropertiesCustomBeanWithSetterInjection camel.beans.customBeanWithSetterInjection.counter = 123 ---
---
camel.beans.customBeanWithSetterInjection = #class:org.example.PropertiesCustomBeanWithSetterInjection
camel.beans.customBeanWithSetterInjection.counter = 123
---
そのため、クラス PropertiesCustomBeanWithSetterInjection を リフレクション用に登録 する必要があります。この場合は、フィールドアクセスを省略できることに注意してください。
| 設定プロパティー | 型 | デフォルト |
|---|---|---|
|
true に設定すると、 |
|
|
|
クラスパスの Camel サービス定義ファイルと一致する Ant-path フォーマットのパターンのコンマ区切りリスト。一致するファイルで定義されたサービスは、** 除外は包含よりも優先されます。ここで定義された除外は、Camel Quarkus エクステンションで追加されたサービスの検出性を拒否するのにも使用できます。
値の例: |
| |
|
クラスパスの Camel サービス定義ファイルと一致する Ant-path フォーマットのパターンのコンマ区切りリスト。指定したファイルが
Camel Quarkus エクステンションには、デフォルトで一部のサービスが含まれる可能性があることに注意してください。ここで選択されそれらのサービスに追加されたサービスおよび
値の例: |
| |
|
クラスパスの Camel サービス定義ファイルと一致する Ant-path フォーマットのパターンのコンマ区切りリスト。一致するファイルで定義されたサービスは、アプリケーションの静的初期化中に Camel レジストリーに 追加されません。 除外は包含よりも優先されます。ここで定義された除外は、Camel Quarkus エクステンションで追加されたサービスの登録を拒否するのにも使用できます。
値の例: |
| |
|
クラスパスの Camel サービス定義ファイルと一致する Ant-path フォーマットのパターンのコンマ区切りリスト。指定したファイルが
Camel Quarkus エクステンションには、デフォルトで一部のサービスが含まれる可能性があることに注意してください。ここで選択されそれらのサービスに追加されたサービスおよび
値の例: |
| |
|
これを |
|
|
|
これを |
|
|
|
これを |
|
|
|
これを |
|
|
|
これを |
|
|
|
これを |
|
|
|
静的な初期化時のルートの自動検出を有効にします。 |
|
|
|
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/* を使用します。 |
| |
|
反映のために登録から 除外 されるクラス名に一致する Ant-path スタイルパターンのコンマ区切りリスト。
このオプションは、 このオプションは、Quarkus エクステンションによって内部で登録されたクラスの登録解除には使用できません。 |
| |
|
反映のために登録されるクラス名に一致する Ant-path フォーマットのパターンのコンマ区切りリスト。
デフォルトでは、クラスは含まれません。このオプションで選択されるセットは、 Quarkus エクステンションは通常、反映のために必要なクラスを登録することに注意してください。このオプションは、組み込みの機能では十分ではない場合に有用です。
このオプションは、コンストラクター、フィールド、およびメソッドの完全な反映アクセスを有効にします。よりきめ細かい制御が必要な場合は、Java コードで このオプションが適切に機能するには、以下の条件のうち少なくとも 1 つが満たされる必要があります。
- パターンにワイルドカード (
ここで、 |
| |
|
|
|
|
|
ビルド時にルート定義から CSimple 式を抽出できない場合の指示。 |
|
|
|
ビルド時にルート定義から式を抽出できない場合の対処方法。 |
|
|
|
ビルド時にルート定義から式を抽出する必要があるかどうかを示します。無効にすると、式はランタイムにコンパイルされます。 |
|
|
|
Camel イベントから CDI イベントへのブリッジを有効にするかどうか。
これにより、CDI オブザーバーを Camel イベント用に設定できます。たとえば、 この設定項目は、Camel イベント用に設定されたオブザーバーがアプリケーションに存在する場合にのみ効果があることに注意してください。 |
|
|
|
camel ソースの場所を有効/無効にするためのビルド時の設定オプション |
|
|
|
Camel アプリケーションでトレーサーを有効にします。 |
|
|
|
トレーサーをスタンバイモードに設定します。トレーサーはインストールされますが、自動的に有効にはなりません。トレーサーは、後で Java、JMX、またはツールから明示的に有効にできます。 |
|
|
|
最後のメッセージをいくつトレーサーに保持するかを定義します。 |
|
|
|
トレーサーがダンプするときに、トレースされたすべてのメッセージを削除するかどうか。デフォルトでは、メッセージは削除されるため、ダンプには以前にダンプされたメッセージは含まれません。 |
|
|
|
トレースされたメッセージ内のメッセージ本文を最大サイズに制限します。サイズを無制限にするには、0 または負の値を使用します。 |
|
|
|
ストリームベースのメッセージのメッセージ本文を含めるかどうか。有効にした場合、ストリームを後で再度読み取れなくなる可能性があることに注意してください。ストリームキャッシュの詳細を参照してください。 |
|
|
|
ファイルベースのメッセージのメッセージ本文を含めるかどうか。オーバーヘッドは、ファイルからファイルのコンテンツを読み取る必要があることです。 |
|
|
|
トレースされたメッセージに交換プロパティーを含めるかどうか。 |
|
|
|
トレースされたメッセージに交換変数を含めるかどうか。 |
|
|
|
交換が失敗した場合にトレースされたメッセージに例外を含めるかどうか。 |
|
|
|
Rest DSL から作成されたルートをトレースするかどうか。 |
|
|
|
ルートテンプレートまたは Kamelet から作成されたルートをトレースするかどうか。 |
|
|
|
ルートまたはノード ID によるトレースのフィルター。 |
| |
|
トレースメッセージのフィルター。 |
| |
|
型コンバーターの統計が有効かどうか。デフォルトでは、型コンバータの使用率統計は無効になっています。統計を有効にすると、負荷が非常に大きい場合にパフォーマンスに若干の影響が出ることに注意してください。 |
|
|
|
|
|
|
|
|
|
|
ビルド時に修正される設定プロパティー。その他の設定プロパティーはすべて、ランタイム時にオーバーライドが可能です。
duration の値を書き込むには、標準の java.time.Duration フォーマットを使用します。詳細は、Duration#parse() Java API ドキュメント を参照してください。
数字で始まる簡略化されたフォーマットも使用できます。
- 値が数値のみの場合は、秒単位の時間を表します。
-
数字の後に
msが続く値は、ミリ秒単位の時間を表します。
その他の場合は、解析のために簡略化されたフォーマットが java.time.Duration フォーマットに変換されます。
-
数字の後に
h、m、またはsが続く値には、接頭辞PTが付きます。 -
数字の後に
dが続く値は、接頭辞Pが付きます。