74.2. 変数
変数 | タイプ | 説明 |
---|---|---|
camelId | 文字列 | CamelContext の名前 |
camelContext.OGNL | オブジェクト | Camel OGNL 式を使用して呼び出された CamelContext。 |
exchange | エクスチェンジ | 取引所 |
交換 OGNL | オブジェクト | Camel OGNL 式を使用して呼び出される Exchange。 |
exchangeId | 文字列 | エクスチェンジ ID |
id | 文字列 | メッセージ ID |
messageTimestamp | 文字列 | このメッセージのタイムスタンプ (エポックからの経過時間)。JMS、Kafka、AWS などのシステムには、Camel が受信したイベント/メッセージにタイムスタンプを持つものがあります。このメソッドは、タイムスタンプが存在する場合、そのタイムスタンプを返す。メッセージのタイムスタンプと作成された Exchange は同じではありません。Exchange は常に、Camel が Exchange を作成したときのローカルタイムスタンプである作成タイムスタンプを持っています。メッセージのタイムスタンプは、コンシューマーがソースイベントからタイムスタンプを抽出できる場合にのみ、一部の Camel コンポーネントで利用可能です。メッセージにタイムスタンプがない場合は、0 が返される。 |
ボディー | オブジェクト | 肉体 |
のボディを使用しています。OGNL | オブジェクト | Camel OGNL 式を使用して呼び出されたボディー。 |
bodyAs(type) | タイプ | ボディをクラス名で指定された型に変換する。変換された本文は null にすることができます。 |
bodyAs (type) です。OGNL | オブジェクト | ボディをクラス名で指定された型に変換し、Camel OGNL 式を使用してメソッドを呼び出します。変換された本文は null にすることができます。 |
bodyOneLine | 文字列 | 本文を文字列に変換し、改行をすべて削除して 1 行にまとめる。 |
mandatoryBodyAs(type) | タイプ | ボディをクラス名で指定された型に変換し、ボディが NULL でないことを期待する。 |
mandatoryBodyAs (type) です。OGNL | オブジェクト | ボディをクラス名で指定された型に変換し、Camel OGNL 式を使用してメソッドを呼び出します。 |
header.foo | オブジェクト | foo ヘッダーを参照 |
header[foo] | オブジェクト | foo ヘッダーを参照 |
headers.foo | オブジェクト | foo ヘッダーを参照 |
headers:foo | オブジェクト | foo ヘッダーを参照 |
headers[foo] | オブジェクト | foo ヘッダーを参照 |
header.foo[bar] | オブジェクト | foo ヘッダをマップと見なし、bar をキーとしてマップを検索する。 |
header.foo. OGNL | オブジェクト | は、foo ヘッダを参照し、その値を Camel OGNL 式で呼び出す。 |
headerAs(key,type) | タイプ | は、ヘッダをクラス名で指定された型に変換します。 |
ヘッダー | マップ | ヘッダを参照する |
exchangeProperty.foo | オブジェクト | 交換の際に foo のプロパティーを参照する |
exchangeProperty[foo] | オブジェクト | 交換の際に foo のプロパティーを参照する |
exchangeProperty.foo.OGNL | オブジェクト | は、Exchange 上の foo プロパティーを参照し、Camel OGNL 式を使用してその値を呼び出します。 |
sys.foo | 文字列 | は、JVM システムプロパティーを参照してください。 |
sysenv.foo | 文字列 | システム環境変数を参照してください |
env.foo | 文字列 | システム環境変数を参照してください |
exception | オブジェクト |
は、Exchange 上の例外オブジェクトを参照し、Exchange 上に例外が設定されていない場合は null となる。Exchange に例外が発生した場合、フォールバックしてキャッチした例外 |
を例外とする。オージーエヌエル | オブジェクト | Camel OGNL 式オブジェクトを使用して呼び出された交換例外を参照する。 |
exception.message | 文字列 |
は exchange 上の exception.message を参照し、exchange 上に例外が設定されていない場合は null と なる。Exchange に例外が発生した場合、フォールバックしてキャッチした例外 |
exception.stacktrace | 文字列 |
Exchange 上の exception.stracktrace を参照し、Exchange 上に例外が設定されていない場合は null と なります。Exchange に例外が発生した場合、フォールバックしてキャッチした例外 |
date:_command_ | 日付 | は、Date オブジェクトとして評価されます。サポートされているコマンドは、現在のタイムスタンプを表す now、現在の Exchange が作成されたタイムスタンプを表す exchangeCreated、キーが xxx の Long/Date オブジェクトヘッダを使用する header.xxx です。exchangeProperty.xxx を使用して、キー xxx を持つ Exchange プロパティーで Long/Date オブジェクトを使用するようにします。ファイルの 最終更新タイムスタンプを取得します (File コンシューマーで利用可能)。コマンドは、now-24h または header.xxx+1h または now+1h30m-100 のようなオフセットを受け付けます。 |
date:_command:pattern_ | 文字列 |
|
date-with-timezone:_command:timezone:pattern_ | 文字列 |
|
bean:_bean expression_ | オブジェクト |
言語を使用した Bean 式の呼び出し。メソッド名を指定するには、区切り文字としてドットを使用する必要があります。また、コンポーネントで使用される ?method=methodname 構文もサポートしています。Camel はデフォルトで、指定された名前の Bean を検索します。しかし、ビーンクラスを参照する必要がある場合 (静的メソッドの呼び出しなど) には、 |
| 文字列 | 指定されたキーでプロパティーを検索します。キーが存在しないか、または値がない場合、オプションでデフォルト値を指定することができる。 |
routeId | 文字列 | Exchange がルーティングされている現在のルートの ID を返します。 |
stepId | 文字列 | Exchange がルーティングされている現在のステップの ID を返します。 |
threadName | 文字列 | 現在のスレッドの名前を返します。ロギング用途に使用できます。 |
hostname | 文字列 | ローカルホスト名を返します (解決できない場合は空白でもかまいません)。 |
ref:xxx | オブジェクト | 与えられた id を持つレジストリーから Bean を検索すること。 |
type:name.field | オブジェクト |
型やフィールドを FQN 名で参照すること。フィールドを参照するには、.FIELD_NAME を追加できます。例えば、Exchange の定数フィールドを次のように参照することができます: |
null | null | は ヌルを 表します。 |
random(value) | 整数 | 0(含む) と 値 (含まない) の間のランダムな整数を返します。 |
random(min,max) | 整数 | min (含む ) と max (含まない) の間のランダムな整数を返します。 |
collate(group) | リスト | collate 関数は、メッセージボディを繰り返し処理し、データを指定されたサイズのサブリストにグループ化する。スプリッター EIP と併用することで、メッセージ本体を分割し、分割されたサブメッセージを N 個のサブリストグループにグループ化/バッチ化することが可能です。この方法は、Groovy の collate メソッドと似たような働きをします。 |
跳び箱 | Iterator | skip 関数はメッセージのボディーをイテレートし、最初の項目数をスキップします。Splitter EIP と併用することで、メッセージボディーを分割し、最初の N 項目数をスキップすることができます。 |
messageHistory | 文字列 | 現在の Exchange がどのようにルーティングされたかというメッセージの履歴。これは、未処理の例外が発生した場合にエラーハンドラーが記録するルートスタックトレースメッセージの履歴と同様である。 |
messageHistory(false) | 文字列 | messageHistory と同様だが、交換の詳細は含まれない (ルートスタックトレースのみが含まれる)。これは、メッセージ自体から機密データを記録したくない場合に使用することができます。 |