364.2. オプション
仮想マシンコンポーネントは、以下に記載される 6 個のオプションをサポートします。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
queueSize (advanced) | SEDA キューのデフォルトの最大容量 (つまり、保持できるメッセージの数) を設定します。 | 1000 | int |
concurrentConsumers (consumer) | 交換を処理する同時スレッドのデフォルト数を設定します。 | 1 | int |
defaultQueueFactory (advanced) | デフォルトのキューファクトリーを設定します。 | BlockingQueueFactory | |
defaultBlockWhenFull (producer) | 満杯の SEDA キューにメッセージを送信するスレッドが、キューの容量がなくなるまでブロックするかどうか。デフォルトでは、キューがいっぱいであることを示す例外が出力されます。このオプションを有効にすると、呼び出しスレッドは代わりにブロックされ、メッセージが受け入れられるまで待機します。 | false | boolean |
defaultOfferTimeout (producer) | 満杯の SEDA キューにメッセージを送信するスレッドが、キューの容量がなくなるまでブロックするかどうか。デフォルトでは、キューがいっぱいであることを示す例外が出力されます。このオプションを有効にすると、設定されたタイムアウトをブロックケースに追加できます。下線部の Java キューの .offer(timeout) メソッドを利用します | long | |
resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
VM エンドポイントは、URI 構文を使用して設定されます。
vm:name
パスおよびクエリーパラメーターを使用します。
364.2.1. パスパラメーター (1 個のパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
name | 必須 キューの名前 | String |
364.2.2. クエリーパラメーター (17 パラメーター)
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
size (common) | SEDA キューの最大容量 (つまり、保持できるメッセージの数)。デフォルトでは、SEDA コンポーネントに設定された defaultSize を使用します。 | 1000 | int |
bridgeErrorHandler (consumer) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN/ERROR レベルでログに記録され、無視されます。 | false | boolean |
concurrentConsumers (consumer) | エクスチェンジを処理する同時スレッドの数。 | 1 | int |
exceptionHandler (consumer) | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN/ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
exchangePattern (consumer) | エクスチェンジの作成時にデフォルトのエクスチェンジパターンを設定します。 | ExchangePattern | |
limitConcurrentConsumers (consumer) | concurrentConsumers の数を最大 500 に制限するかどうか。デフォルトでは、エンドポイントがより大きな数で設定されている場合、例外が出力されます。このチェックを無効にするには、このオプションをオフにします。 | true | boolean |
multipleConsumers (consumer) | 複数のコンシューマーを許可するかどうかを指定します。有効にすると、Publish-Subscribe メッセージングに SEDA を使用できます。つまり、メッセージを SEDA キューに送信し、各コンシューマーにメッセージのコピーを受信させることができます。有効にすると、このオプションはすべてのコンシューマーエンドポイントで指定する必要があります。 | false | boolean |
pollTimeout (consumer) | ポーリング時に使用されるタイムアウト。タイムアウトが発生すると、コンシューマーは実行を継続できるかどうかを確認できます。値を低く設定すると、シャットダウン時にコンシューマーがより迅速に対応できるようになります。 | 1000 | int |
purgeWhenStopping (consumer) | コンシューマー/ルートを停止するときにタスクキューをパージするかどうか。これにより、キューに保留中のメッセージが破棄されるため、より迅速に停止できます。 | false | boolean |
blockWhenFull (producer) | 満杯の SEDA キューにメッセージを送信するスレッドが、キューの容量がなくなるまでブロックするかどうか。デフォルトでは、キューがいっぱいであることを示す例外が出力されます。このオプションを有効にすると、呼び出しスレッドは代わりにブロックされ、メッセージが受け入れられるまで待機します。 | false | boolean |
discardIfNoConsumers (producer) | アクティブなコンシューマーのないキューに送信するときに、プロデューサーがメッセージを破棄する (メッセージをキューに追加しない) かどうか。discardIfNoConsumers オプションと failIfNoConsumers オプションのうち、同時に有効にできるのは 1 つだけです。 | false | boolean |
failIfNoConsumers (producer) | アクティブなコンシューマーのないキューに送信するときに、プロデューサーが例外を出力して失敗するかどうか。discardIfNoConsumers オプションと failIfNoConsumers オプションのうち、同時に有効にできるのは 1 つだけです。 | false | boolean |
offerTimeout (producer) | キューがいっぱいの場合、offerTimeout (ミリ秒単位) をブロックケースに追加できます。0 または負の値を使用して、タイムアウトを無効にすることができます。 | long | |
timeout (producer) | SEDA プロデューサーが非同期タスクの完了の待機を停止するまでのタイムアウト (ミリ秒単位)。0 または負の値を使用して、タイムアウトを無効にすることができます。 | 30000 | long |
waitForTaskToComplete (producer) | 続行する前に呼び出し元が非同期タスクの完了を待つかどうかを指定するオプション。次の 3 つのオプションがサポートされています: Always、Never、または IfReplyExpected。最初の 2 つの値は一目瞭然です。最後の値 IfReplyExpected は、メッセージが Request Reply ベースの場合にのみ待機します。デフォルトのオプションは IfReplyExpected です。 | IfReplyExpected | WaitForTaskToComplete |
queue (advanced) | エンドポイントで使用されるキューインスタンスを定義します。このオプションは、カスタムキューインスタンスを使用するまれなユースケースのみを対象としています。 | BlockingQueue | |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |
同じルールが Vm コンポーネントに適用されるため、オプションやその他の重要な使用方法の詳細については、Seda コンポーネントを参照してください。