第151章 Ignite Messaging コンポーネント
Camel バージョン 2.17 以降で利用可能
Ignite Messaging エンドポイントは camel-ignite エンドポイントの 1 つで、Ignite トピック からメッセージを送信および使用できます。
このエンドポイントは、プロデューサー (メッセージを送信するため) とコンシューマー (メッセージを受信するため) をサポートします。
151.1. オプション
Ignite Messaging コンポーネントは、以下に示す 4 つのオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
ignite (Common) | Ignite インスタンスを設定します。 | Ignite | |
configurationResource (Common) | 設定をロードするリソースを設定します。URI、文字列 (URI)、または InputStream のいずれかです。 | Object | |
igniteConfiguration (Common) | ユーザーがプログラムによる IgniteConfiguration を設定できるようにします。 | IgniteConfiguration | |
resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
Ignite Messaging エンドポイントは、URI 構文を使用して設定されます。
ignite-messaging:topic
パスおよびクエリーパラメーターを使用します。
151.1.1. パスパラメーター (1 個のパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
topic | 必須 トピック名。 | String |
151.1.2. クエリーパラメーター(9 パラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
propagateIncomingBodyIfNo ReturnValue (Common) | 基になる Ignite 操作の戻り値の型が void の場合に、入力ボディーを伝播するかどうかを設定します。 | true | boolean |
treatCollectionsAsCache Objects (Common) | コレクションをキャッシュオブジェクトとして扱うか、アイテムのコレクションとして扱うかを設定し、挿入/更新/計算などを行います。 | false | boolean |
bridgeErrorHandler (consumer) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
exceptionHandler (consumer) | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
exchangePattern (consumer) | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。 | ExchangePattern | |
clusterGroupExpression (producer) | クラスターグループ式。 | ClusterGroupExpression | |
sendMode (producer) | 使用する送信モード。設定可能な値: UNORDERED、ORDERED。 | UNORDERED | IgniteMessagingSend モード |
timeout (producer) | 順序付きメッセージを使用する場合の送信操作のタイムアウト。 | Long | |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |
151.1.3. 使用されるヘッダー
このエンドポイントは、次のヘッダーを使用します。
ヘッダー名 | 定数 | 想定されるタイプ | 説明 |
---|---|---|---|
CamelIgniteMessagingTopic | IgniteConstants.IGNITE_MESSAGING_TOPIC | String | (プロデューサー) にメッセージを送信するトピックを動的に変更できます。また、メッセージが受信されたトピック (コンシューマー) も含まれます。 |
CamelIgniteMessagingUUID | IgniteConstants.IGNITE_MESSAGING_UUID | UUID | メッセージが到着すると、このヘッダーにはサブスクリプションの UUID が入力されます (コンシューマー)。 |