84.2. オプション
次のすべてのオプションは、disruptor: および interruptor-vm: コンポーネントの両方で有効です。
Disruptor コンポーネントは、以下に示す 8 個のオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
defaultConcurrent Consumers (consumer) | 同時コンシューマーのデフォルト数を設定するには | 1 | int |
defaultMultiple Consumers (consumer) | 複数のコンシューマーのデフォルト値を設定するには | false | boolean |
defaultProducerType (producer) | DisruptorProducerType のデフォルト値を設定するにはデフォルト値は Multi です。 | Multi | DisruptorProducerType |
defaultWaitStrategy (consumer) | DisruptorWaitStrategy のデフォルト値を設定するにはデフォルト値は Blocking です。 | Blocking | DisruptorWaitStrategy |
defaultBlockWhenFull (producer) | フル時のブロックのデフォルト値を設定するにはデフォルト値は true です。 | true | boolean |
queueSize (Common) | 非推奨 リングバッファーサイズを設定する場合 | int | |
bufferSize (common) | リングバッファーサイズを設定する場合 | 1024 | int |
resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
Disruptor エンドポイントは、URI 構文を使用して設定されます。
disruptor:name
パスおよびクエリーパラメーターを使用します。
84.2.1. パスパラメーター (1 個のパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
name | 必須 キューの名前 | String |
84.2.2. クエリーパラメーター (12 パラメーター)
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
size (common) | Disruptors リングバッファーの最大容量は、実質的に 2 の累乗に増加します。注意: このオプションを使用する場合は、サイズを決定するキュー名で作成される最初のエンドポイントに注意してください。すべてのエンドポイントが同じサイズを使用するようにするには、すべてのエンドポイント、または作成される最初のエンドポイントでサイズオプションを設定します。 | 1024 | int |
bridgeErrorHandler (consumer) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
concurrentConsumers (consumer) | エクスチェンジを処理する同時スレッドの数。 | 1 | int |
multipleConsumers (consumer) | 複数のコンシューマーを許可するかどうかを指定します。有効にすると、Publish-Subscribe メッセージングに Disruptor を使用できます。つまり、メッセージをキューに送信し、各コンシューマーにメッセージのコピーを受信させることができます。有効にすると、このオプションはすべてのコンシューマーエンドポイントで指定する必要があります。 | false | boolean |
waitStrategy (consumer) | コンシューマースレッドが新しいエクスチェンジの公開を待機するために使用するストラテジーを定義します。許可されるオプションは次のとおりです:Blocking、Sleeping、BusySpin、および Yielding。 | Blocking | DisruptorWaitStrategy |
exceptionHandler (consumer) | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
exchangePattern (consumer) | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。 | ExchangePattern | |
blockWhenFull (producer) | フル Disruptorにメッセージを送信するスレッドが、リングバッファーの容量がなくなるまでブロックするかどうか。デフォルトでは、呼び出しスレッドはブロックされ、メッセージが受け入れられるまで待機します。このオプションを無効にすると、キューがいっぱいであることを示す例外が出力されます。 | false | boolean |
producerType (producer) | Disruptor で許可されるプロデューサーを定義します。使用できるオプションは次のとおりです。Multi は複数のプロデューサーを許可し、Single は特定の最適化を有効にします。これは、1 つの並行プロデューサー (1 つのスレッド上または同期されている) がアクティブな場合にのみ許可されます。 | Multi | DisruptorProducerType |
timeout (producer) | プロデューサーが非同期タスクの完了の待機を停止するまでのタイムアウト (ミリ秒単位)。0 または負の値を使用して、タイムアウトを無効にすることができます。 | 30000 | long |
waitForTaskToComplete (producer) | 続行する前に呼び出し元が非同期タスクの完了を待つかどうかを指定するオプション。次の 3 つのオプションがサポートされています: Always、Never、または IfReplyExpected。最初の 2 つの値は一目瞭然です。最後の値 IfReplyExpected は、メッセージが Request Reply ベースの場合にのみ待機します。 | IfReplyExpected | WaitForTaskToComplete |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |