26.3. コンポーネントオプション
JMS コンポーネントは、以下に示す 98 オプションをサポートします。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
clientId (共通) | 使用する JMS クライアント ID を設定します。この値を指定する場合は、一意である必要があり、単一の JMS 接続インスタンスでのみ使用できることに注意してください。通常、永続的なトピックサブスクリプションの場合にのみ必要です。Apache ActiveMQ を使用している場合は、代わりに仮想トピックを使用することをお勧めします。 | 文字列 | |
connectionFactory (共通) | 使用する接続ファクトリー。コンポーネントまたはエンドポイントで接続ファクトリーを設定する必要があります。 | ConnectionFactory | |
disableReplyTo (共通) | Camel がメッセージの JMSReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は JMSReplyTo ヘッダーで指定された宛先に返信を送り返しません。Camel にルートから消費させたいが、コード内の別のコンポーネントが応答メッセージを処理するため、Camel に自動的に応答メッセージを送り返したくない場合は、このオプションを使用できます。Camel を異なるメッセージブローカー間のプロキシーとして使用し、あるシステムから別のシステムにメッセージをルーティングする場合にも、このオプションを使用できます。 | false | boolean |
durableSubscriptionName (共通) | 永続トピックサブスクリプションを指定するための永続サブスクライバー名。clientId オプションも設定する必要があります。 | 文字列 | |
jmsMessageType (共通) | JMS メッセージの送信に特定の javax.jms.Message 実装を強制的に使用できるようにします。可能な値は、Bytes、Map、Object、Stream、Text です。デフォルトでは、Camel は In body タイプから使用する JMS メッセージタイプを決定します。このオプションで指定できます。 列挙値:
| JmsMessageType | |
replyTo (共通) | 明示的な ReplyTo 宛先を提供します (コンシューマーの Message.getJMSReplyTo() の着信値をオーバーライドします)。 | 文字列 | |
testConnectionOnStartup (common) | 起動時に接続をテストするかどうかを指定します。これにより、Camel の起動時に、すべての JMS コンシューマーが JMS ブローカーへの有効な接続を持つことが保証されます。接続を許可できない場合、Camel は起動時に例外を出力します。これにより、接続に失敗した状態で Camel が開始されなくなります。JMS プロデューサーもテストされています。 | false | boolean |
acknowledgementModeName (コンシューマー) | JMS 確認応答名。SESSION_TRANSACTED、CLIENT_ACKNOWLEDGE、AUTO_ACKNOWLEDGE、DUPS_OK_ACKNOWLEDGE のいずれかです。 列挙値:
| AUTO_ACKNOWLEDGE | 文字列 |
artemisConsumerPriority (コンシューマー) | コンシューマーの優先度を使用すると、優先度の高いコンシューマーがアクティブなときにメッセージを受信できるようになります。通常、キューに接続されているアクティブなコンシューマーは、ラウンドロビン方式でキューからメッセージを受け取ります。コンシューマーの優先度が使用されているとき、同じ優先度の高いアクティブなコンシューマーが複数存在する場合は、メッセージがラウンドロビンで配信されます。メッセージは、優先度の高いコンシューマーがメッセージを消費するために利用できるクレジットを持っていない場合、またはそれらの優先度の高いコンシューマーがメッセージの受け入れを拒否した場合にのみ、優先度の低いコンシューマーに送信されます (たとえば、コンシューマーに関連するセレクターの基準を満たさないため)。 | int | |
asyncConsumer (コンシューマー) | JmsConsumer が Exchange を非同期的に処理するかどうか。有効にすると、JmsConsumer は JMS キューから次のメッセージを取得できますが、前のメッセージは (非同期ルーティングエンジンによって) 非同期に処理されます。これは、メッセージが 100% 厳密に順序どおりに処理されない可能性があることを意味します。無効になっている場合 (デフォルト)、JmsConsumer が JMS キューから次のメッセージを取得する前に Exchange が完全に処理されます。transactioned が有効になっている場合、トランザクションは同期的に実行する必要があるため、asyncConsumer=true は非同期的に実行されないことに注意してください (Camel 3.0 は非同期トランザクションをサポートする場合があります)。 | false | boolean |
autoStartup (コンシューマー) | コンシューマーコンテナーを自動起動するかどうかを指定します。 | true | boolean |
cacheLevel (コンシューマー) | 基礎となる JMS リソースの ID によってキャッシュレベルを設定します。詳細は、cacheLevelName オプションを参照してください。 | int | |
cacheLevelName (コンシューマー) | 基礎となる JMS リソースのキャッシュレベルを名前で設定します。可能な値は、CACHE_AUTO、CACHE_CONNECTION、CACHE_CONSUMER、CACHE_NONE、および CACHE_SESSION です。デフォルト設定は CACHE_AUTO です。詳細は、Spring のドキュメントとトランザクションキャッシュレベルを参照してください。 列挙値:
| CACHE_AUTO | 文字列 |
concurrentConsumers (コンシューマー) | JMS から消費する場合の同時コンシューマーのデフォルト数を指定します (JMS を介した要求/応答ではありません)。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。JMS を介して要求/応答を行う場合は、オプション replyToConcurrentConsumers を使用して、応答メッセージリスナーの同時コンシューマーの数を制御します。 | 1 | int |
maxConcurrentConsumers (コンシューマー) | JMS から消費する場合の同時コンシューマーの最大数を指定します (JMS を介した要求/応答ではありません)。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。JMS を介して要求/応答を行う場合は、オプション replyToMaxConcurrentConsumers を使用して、応答メッセージリスナーの同時コンシューマーの数を制御します。 | int | |
replyToDeliveryPersistent (コンシューマー) | 返信に対してデフォルトで永続的な配信を使用するかどうかを指定します。 | true | boolean |
selector (コンシューマー) | 使用する JMS セレクターを設定します。 | 文字列 | |
subscriptionDurable (コンシューマー) | サブスクリプションを永続化するかどうかを設定します。使用する永続サブスクリプション名は、subscriptionName プロパティーで指定できます。デフォルトは false です。通常、subscriptionName 値と組み合わせて永続的なサブスクリプションを登録するには、これを true に設定します (メッセージリスナークラス名がサブスクリプション名として十分でない場合)。トピック (pub-sub ドメイン) をリッスンする場合にのみ意味があるため、このメソッドは pubSubDomain フラグも切り替えます。 | false | boolean |
subscriptionName (コンシューマー) | 作成するサブスクリプションの名前を設定します。共有または永続的なサブスクリプションを持つトピック (pub-sub ドメイン) の場合に適用されます。サブスクリプション名は、このクライアントの JMS クライアント ID 内で一意である必要があります。デフォルトは、指定されたメッセージリスナーのクラス名です。注: 共有サブスクリプション (JMS 2.0 が必要) を除き、サブスクリプションごとに 1 つの同時コンシューマー (このメッセージリスナコンテナーのデフォルト) のみが許可されます。 | 文字列 | |
subscriptionShared (コンシューマー) | サブスクリプションを共有するかどうかを設定します。使用する共有サブスクリプション名は、subscriptionName プロパティーで指定できます。デフォルトは false です。通常は subscriptionName 値と組み合わせて共有サブスクリプションを登録するには、これを true に設定します (メッセージリスナークラス名がサブスクリプション名として十分でない場合)。共有サブスクリプションも永続的である可能性があるため、このフラグを subscriptionDurable と組み合わせることもできます (多くの場合は組み合わせます)。トピック (pub-sub ドメイン) をリッスンする場合にのみ意味があるため、このメソッドは pubSubDomain フラグも切り替えます。JMS 2.0 互換のメッセージブローカーが必要です。 | false | boolean |
acceptMessagesWhileStopping (consumer (advanced)) | コンシューマーが停止中にメッセージを受け入れるかどうかを指定します。実行時に JMS ルートを開始および停止するが、キューにメッセージが入れられている場合は、このオプションを有効にすることを検討してください。このオプションが false の場合は、JMS ルートを停止すると、メッセージが拒否される可能性があり、JMS ブローカは再配信を試行する必要がありますが、これも拒否される可能性があり、最終的にメッセージはJMS ブローカー上のデッドレターキューに移動される可能性があります。これを回避するには、このオプションを有効にすることをお勧めします。 | false | boolean |
allowReplyManagerQuickStop (コンシューマー (上級)) | JmsConfiguration#isAcceptMessagesWhileStopping が有効で、org.apache.camel.CamelContext が現在停止している場合に、要求/応答メッセージングのリプライマネージャーで使用される DefaultMessageListenerContainer が、DefaultMessageListenerContainer.runningAllowed フラグを迅速に停止できるようにするかどうか。このクイック停止機能は、通常の JMS コンシューマーではデフォルトで有効になっていますが、応答マネージャーを有効にするには、このフラグを有効にする必要があります。 | false | boolean |
consumerType (コンシューマー (上級)) | 使用するコンシューマータイプ。Simple、Default、または Custom のいずれかです。コンシューマータイプによって、使用する Spring JMS リスナーが決まります。デフォルトは org.springframework.jms.listener.DefaultMessageListenerContainer を使用し、Simple は org.springframework.jms.listener.SimpleMessageListenerContainer を使用します。Custom を指定した場合は、messageListenerContainerFactory オプションで定義された MessageListenerContainerFactory によって、使用する org.springframework.jms.listener.AbstractMessageListenerContainer が決まります。 列挙値:
| デフォルト | ConsumerType |
defaultTaskExecutorType (コンシューマー (上級)) | コンシューマーエンドポイントとプロデューサエンドポイントの ReplyTo コンシューマーの両方に対して、DefaultMessageListenerContainer で使用するデフォルトの TaskExecutor タイプを指定します。可能な値: SimpleAsync (Spring の SimpleAsyncTaskExecutor を使用) または ThreadPool (Spring の ThreadPoolTaskExecutor を最適な値で使用 - キャッシュされたスレッドプールのようなもの)。設定されていない場合は、デフォルトで以前の動作になり、コンシューマーエンドポイントにはキャッシュされたスレッドプールが使用され、応答コンシューマーには SimpleAsync が使用されます。ThreadPool の使用は、同時コンシューマーが動的に増減するエラスティック設定でスレッドのゴミを減らすために推奨されます。 列挙値:
| DefaultTaskExecutorType | |
eagerLoadingOfProperties (consumer (advanced)) | メッセージが読み込まれるとすぐに JMS プロパティーとペイロードの熱心な読み込みを有効にします。これは、JMS プロパティーが必要ない場合があるため一般的に非効率的ですが、基盤となる JMS プロバイダーと JMS プロパティーの使用に関する問題を早期に発見できる場合があります。オプション eagerPoisonBody も参照してください。 | false | boolean |
eagerPoisonBody (コンシューマー (上級)) | eagerLoadingOfProperties が有効であり、JMS メッセージペイロード (JMS 本文または JMS プロパティー) が有害 (読み取り/マッピングできない) である場合は、代わりにこのテキストをメッセージ本文として設定し、メッセージを処理できるようにします (有害の原因は、Exchange では例外としてすでに保存されています)。これは、eagerPoisonBody=false を設定することでオフにすることができます。オプション eagerLoadingOfProperties も参照してください。 | $\{exception.message} による JMS メッセージへの影響 | 文字列 |
exposeListenerSession (コンシューマー (上級)) | メッセージを消費するときにリスナーセッションを公開するかどうかを指定します。 | false | boolean |
replyToSameDestinationAllowed (consumer (advanced)) | JMS コンシューマーが、コンシューマーが使用しているのと同じ宛先に応答メッセージを送信できるかどうか。これにより、同じメッセージを消費してそれ自体に送り返すことで、無限ループが回避されます。 | false | boolean |
taskExecutor (コンシューマー (上級)) | メッセージを消費するためのカスタムタスクエグゼキュータを指定できます。 | TaskExecutor | |
deliveryDelay (プロデューサー) | JMS の送信呼び出しに使用する配信遅延を設定します。このオプションには、JMS 2.0 準拠のブローカーが必要です。 | -1 | long |
deliveryMode (プロデューサー) | 使用する配信モードを指定します。可能な値は、javax.jms.DeliveryMode で定義された値です。NON_PERSISTENT = 1 および PERSISTENT = 2。 列挙値:
| 整数 | |
deliveryPersistent (プロデューサー) | デフォルトで永続配信を使用するかどうかを指定します。 | true | boolean |
explicitQosEnabled (プロデューサー) | メッセージの送信時に、deliveryMode、priority、または timeToLive のサービス品質を使用する必要があるかどうかを設定します。このオプションは、Spring の JmsTemplate に基づいています。deliveryMode、priority、および timeToLive オプションは、現在のエンドポイントに適用されます。これは、メッセージの粒度で動作し、Camel In メッセージヘッダーから排他的に QoS プロパティーを読み取る preserveMessageQos オプションとは対照的です。 | false | ブール値 |
formatDateHeadersToIso8601 (producer) | JMS 日付プロパティーを ISO 8601 標準に従ってフォーマットするかどうかを設定します。 | false | boolean |
lazyStartProducer (producer) | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | boolean |
preserveMessageQos (producer) | JMS エンドポイントの QoS 設定ではなく、メッセージで指定された QoS 設定を使用してメッセージを送信する場合は、true に設定します。次の 3 つのヘッダーは、JMSPriority、JMSDeliveryMode、および JMSExpiration と見なされます。それらのすべてまたは一部のみを指定できます。指定されていない場合、Camel は代わりにエンドポイントからの値を使用するようにフォールバックします。したがって、このオプションを使用すると、ヘッダーはエンドポイントからの値をオーバーライドします。対照的に、explicitQosEnabled オプションは、エンドポイントに設定されたオプションのみを使用し、メッセージヘッダーの値は使用しません。 | false | boolean |
priority (プロデューサー) | 1 より大きい値は、送信時のメッセージの優先度を指定します (1 が最低の優先度で、9 が最高の優先度です)。このオプションを有効にするには、explicitQosEnabled オプションも有効にする必要があります。 列挙値:
| 4 | int |
replyToConcurrentConsumers (プロデューサー) | JMS を介して要求/応答を行うときの同時コンシューマーのデフォルト数を指定します。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。 | 1 | int |
replyToMaxConcurrentConsumers (producer) | JMS を介した要求/応答を使用する場合の同時コンシューマーの最大数を指定します。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。 | int | |
replyToOnTimeoutMaxConcurrentConsumers (producer) | JMS 経由の要求/応答を使用するときにタイムアウトが発生したときに、ルーティングを継続するための同時コンシューマーの最大数を指定します。 | 1 | int |
replyToOverride (プロデューサー) | JMS メッセージで明示的な ReplyTo 宛先を提供します。これは、replyTo の設定をオーバーライドします。メッセージをリモート Queue に転送し、ReplyTo 宛先から応答メッセージを受け取る場合に便利です。 | 文字列 | |
replyToType (プロデューサー) | JMS を介して要求/応答を行うときに、replyTo キューに使用する戦略の種類を明示的に指定できます。可能な値は、Temporary、Shared、または Exclusive です。デフォルトでは、Camel は一時キューを使用します。ただし、replyTo が設定されている場合は、デフォルトで Shared が使用されます。このオプションを使用すると、共有キューの代わりに専用キューを使用できます。詳細は、Camel JMS のドキュメント を参照してください。特に、クラスター環境で実行中の影響に関する情報と、Shared 応答キューのパフォーマンスは、alternative Temporary と Exclusive よりも低いという事実を参照してください。 列挙値:
| ReplyToType | |
requestTimeout (プロデューサー) | InOut Exchange Pattern (ミリ秒単位)の使用時に応答を待機するタイムアウト。デフォルトは 40 秒です。ヘッダー CamelJmsRequestTimeout を追加して、このエンドポイントが設定されたタイムアウト値を上書きし、メッセージごとに個別のタイムアウト値を持つことができます。requestTimeoutCheckerInterval オプションも参照してください。 | 20000 | long |
timeToLive (プロデューサー) | メッセージを送信する場合は、メッセージの存続期間(ミリ秒単位)を指定します。 | -1 | long |
allowAdditionalHeaders (プロデューサー (上級)) | このオプションは、JMS 仕様に従って無効な値を持つ可能性のある追加のヘッダーを許可するために使用されます。たとえば、WMQ などの一部のメッセージシステムは、接頭辞 JMS_IBM_MQMD_ を使用してヘッダー名でこれを行います。これには、バイト配列または他の無効なタイプの値が含まれます。複数のヘッダー名をコンマで区切って指定し、ワイルドカードの一致に を接尾辞として使用できます。 | 文字列 | |
allowNullBody (プロデューサー (上級)) | ボディーのないメッセージの送信を許可するかどうか。このオプションが false でメッセージボディーが null の場合、JMSException が出力されます。 | true | boolean |
alwaysCopyMessage (プロデューサー (上級)) | true の場合、送信のためにプロデューサーに渡されるときに、Camel は常にメッセージの JMS メッセージコピーを作成します。replyToDestinationSelectorName が設定されている場合など、一部の状況ではメッセージのコピーが必要になります(誤って Camel は replyToDestinationSelectorName が設定されている場合、Camel は alwaysCopyMessage オプションを true に設定します)。 | false | boolean |
correlationProperty (producer (advanced)) | InOut 交換パターンを使用する場合は、JMSCorrelationID JMS プロパティーの代わりにこの JMS プロパティーを使用してメッセージを関連付けます。設定されたメッセージは、このプロパティー JMSCorrelationID プロパティーの値にのみ相関し、Camel によっては設定されません。 | 文字列 | |
disableTimeToLive (プロデューサー (上級)) | このオプションを使用して、有効期限を強制的に無効にします。たとえば、JMS でリクエスト/リプライを行う場合、Camel はデフォルトで requestTimeout 値を送信されるメッセージに対して存続する時間として使用します。この問題は、送信者と受信者のシステムでクロックを同期して同期する必要があることです。これをアーカイブするのは必ずしも簡単ではありません。したがって、disableTimeToLive=true を使用して、送信されたメッセージに有効期限の値を設定しないようにすることができます。その後、メッセージは受信側システムで期限切れになりません。詳細については、以下の生存時間についてのセクションを参照してください。 | false | boolean |
forceSendOriginalMessage (プロデューサー (上級)) | mapJmsMessage=false を使用すると、ルート中にヘッダー(取得または設定)にアクセスすると、新しい JMS 宛先に送信する新しい JMS メッセージが作成されます。このオプションを true に設定すると、Camel は受信された元の JMS メッセージを送信するようにします。 | false | boolean |
includeSentJMSMessageID (producer (advanced)) | InOnly (例:fire and forget)を使用して JMS 宛先に送信する場合にのみ適用されます。このオプションを有効にすると、メッセージが JMS 宛先に送信されたときに JMS クライアントによって使用される実際の JMSMessageID で Camel Exchange を補完します。 | false | boolean |
replyToCacheLevelName (producer (advanced)) | JMS を介して要求/応答を行うときに、応答コンシューマーのキャッシュレベルを名前で設定します。このオプションは、(一時的ではなく)Fixed reply queue を使用する場合にのみ適用されます。Camel はデフォルトで CACHE_CONSUMER を排他的または共有 w/ replyToSelectorName に使用します。そして、replyToSelectorName なしで共有するための CACHE_SESSION。IBM WebSphere などの一部の JMS ブローカーは、replyToCacheLevelName=CACHE_NONE を設定して機能させる必要がある場合があります。注記:一時キューを使用する場合は CACHE_NONE は許可されず、CACHE_CONSUMER や CACHE_SESSION などの高い値を使用する必要があります。 列挙値:
| 文字列 | |
replyToDestinationSelectorName (producer (advanced)) | 固定名を使用して JMS セレクターを設定し、共有キューの使用時に(つまり一時的な応答キューを使用していない場合)、他の者からのリプライをフィルターリングできます。 | 文字列 | |
streamMessageTypeEnabled (producer (advanced)) | StreamMessage タイプを有効にするかどうかを設定します。ファイル、InputStream などのストリーミングタイプのメッセージペイロードは、BytesMessage または StreamMessage として送信されます。このオプションは、どの種類が使用されるかを制御します。デフォルトでは、BytesMessage が使用され、メッセージペイロード全体がメモリーに読み込まれます。このオプションを有効にすると、メッセージペイロードはチャンクのメモリーに読み取られ、各チャンクは追加のデータになるまで StreamMessage に書き込まれます。 | false | boolean |
allowAutoWiredConnectionFactory (上級) | 接続ファクトリーが設定されていない場合、レジストリーから ConnectionFactory を自動検出するかどうか。ConnectionFactory のインスタンスが 1 つしか見つからない場合は、それが使用されます。これはデフォルトで有効になっています。 | true | boolean |
allowAutoWiredDestinationResolver (advanced) | 宛先リゾルバーが設定されていない場合に、レジストリーから DestinationResolver を自動検出するかどうか。DestinationResolver のインスタンスが 1 つしか見つからない場合は、それが使用されます。これはデフォルトで有効になっています。 | true | boolean |
allowSerializedHeaders (上級) | シリアル化されたヘッダーを含めるかどうかを制御します。transferExchange が true の場合にのみ適用されます。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化できないオブジェクトを除外し、WARN レベルでログに記録します。 | false | boolean |
artemisStreamingEnabled (上級) | Apache Artemis ストリーミングモード用に最適化するかどうか。これにより、JMS StreamMessage タイプで Artemis を使用する場合、メモリーのオーバーヘッドを減らすことができます。このオプションは、Apache Artemis が使用されている場合にのみ有効にする必要があります。 | false | boolean |
asyncStartListener (上級) | ルートの開始時に JmsConsumer メッセージリスナーを非同期で開始するかどうか。たとえば、JmsConsumer がリモート JMS ブローカーへの接続を取得できない場合、再試行中やフェイルオーバー中にブロックされる可能性があります。これにより、ルートの開始時に Camel がブロックされます。このオプションを true に設定すると、ルートの起動を許可します。一方、JmsConsumer は非同期モードで専用のスレッドを使用して JMS ブローカーに接続します。このオプションを使用する場合は、接続を確立できない場合は例外が WARN レベルでログに記録され、コンシューマーはメッセージを受信できず、ルートを再起動して再試行できます。 | false | boolean |
asyncStopListener (上級) | ルートを停止するときに、JmsConsumer メッセージリスナーを非同期的に停止するかどうか。 | false | boolean |
autowiredEnabled (上級) | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | boolean |
configuration (上級) | 共有 JMS 設定を使用します。 | JmsConfiguration | |
destinationResolver (上級) | 独自のリゾルバーを使用できるプラグ可能な org.springframework.jms.support.destination.DestinationResolver。JNDI レジストリーで実際の宛先を検索するなど。 | DestinationResolver | |
errorHandler (上級) | Message の処理中に検出されない例外が出力された場合に、org.springframework.util.ErrorHandler が呼び出されます。デフォルトでは、errorHandler が設定されていない場合、これらの例外は WARN レベルでログに記録されます。errorHandlerLoggingLevel および errorHandlerLogStackTrace オプションを使用して、ロギングレベルとスタックトレースをログに記録するかどうかを設定できます。これにより、カスタム errorHandler をコーディングする必要なく、設定が非常に簡単になります。 | ErrorHandler | |
exceptionListener (上級) | 基礎となる JMS 例外の通知を受ける JMS 例外リスナーを指定します。 | ExceptionListener | |
idleConsumerLimit (advanced) | 常にアイドル状態にできるコンシューマーの数の制限を指定します。 | 1 | int |
idleTaskExecutionLimit (advanced) | 実行内でメッセージを受信せずに、受信タスクのアイドル実行の制限を指定します。この制限に達すると、タスクはシャットダウンし、他の実行中のタスクまで受信したままになります(動的スケジューリングの場合は、maxConcurrentConsumers の設定を参照してください)。Spring から入手できる追加のドキュメントがあります。 | 1 | int |
includeAllJMSXProperties (上級) | JMS から Camel Message へのマッピング時に JMSXxxx プロパティーをすべて含めるかどうか。これを true に設定すると、JMSXAppID や JMSXUserID などのプロパティーが含まれます。注記:カスタムの headerFilterStrategy を使用している場合、このオプションは適用されません。 | false | boolean |
jmsKeyFormatStrategy (上級) | JMS 仕様に準拠できるように、JMS キーをエンコードおよびデコードするためのプラグ可能な戦略。Camel は、追加設定なしで、default と passthrough の 2 つの実装を提供します。デフォルトのストラテジーでは、ドットとハイフン(. および -)を安全にマーシャリングします。パススルー戦略では、キーはそのまま残ります。JMS ヘッダーキーに不正な文字が含まれているかどうかは問題にならない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。 列挙値:
| JmsKeyFormatStrategy | |
mapJmsMessage (上級) | Camel が受信した JMS メッセージを javax.jms.TextMessage などの適切なペイロードタイプに自動的にマップするかどうかを指定します。 | true | boolean |
maxMessagesPerTask (上級) | タスクあたりのメッセージ数。-1 は無制限です。同時コンシューマーの範囲(例:min max)を使用する場合は、このオプションを使用して値を 100 に設定し、必要な作業が少ない場合にコンシューマーを縮小する方法を制御できます。 | -1 | int |
messageConverter (上級) | カスタムの Spring org.springframework.jms.support.converter.MessageConverter を使用して、javax.jms.Message のマッピング方法を制御できます。 | MessageConverter | |
messageCreatedStrategy (上級) | Camel が JMS メッセージを送信しているときに、Camel が javax.jms.Message オブジェクトの新しいインスタンスを作成するときに呼び出される、指定された MessageCreatedStrategy を使用します。 | MessageCreatedStrategy | |
messageIdEnabled (上級) | 送信時に、メッセージ ID を追加するかどうかを指定します。これは、JMS ブローカーへの単なるヒントです。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージはメッセージ ID を null に設定する必要があります。プロバイダーがヒントを無視する場合は、メッセージ ID を通常の一意の値に設定する必要があります。 | true | boolean |
messageListenerContainerFactory (上級) | メッセージの消費に使用する org.springframework.jms.listener.AbstractMessageListenerContainer を決定するために使用される MessageListenerContainerFactory のレジストリー ID。これを設定すると、consumerType が自動的に Custom に設定されます。 | MessageListenerContainerFactory | |
messageTimestampEnabled (上級) | メッセージの送信時にデフォルトでタイムスタンプを有効にするかどうかを指定します。これは、JMS ブローカーへの単なるヒントです。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージはタイムスタンプをゼロに設定する必要があります。プロバイダーがヒントを無視すると、タイムスタンプを通常の値に設定する必要があります。 | true | boolean |
pubSubNoLocal (上級) | 独自の接続によってパブリッシュされたメッセージの配信を禁止するかどうかを指定します。 | false | boolean |
queueBrowseStrategy (上級) | キューの参照時にカスタムの QueueBrowseStrategy を使用します。 | QueueBrowseStrategy | |
receiveTimeout (上級) | メッセージ受信のタイムアウト (ミリ秒単位)。 | 1000 | long |
recoveryInterval (上級) | リカバリーの試行の間隔を指定します。つまり、接続が更新されるタイミング(ミリ秒単位)を指定します。デフォルトは 5000 ミリ秒、つまり 5 秒です。 | 5000 | long |
requestTimeoutCheckerInterval (advanced) | JMS でリクエスト/リプライを行うときに Camel がタイムアウトしたエクスチェンジをチェックする頻度を設定します。デフォルトでは、Camel は 1 秒に 1 回確認します。ただし、タイムアウトの発生時に迅速な反応が必要な場合は、この間隔を下げてより頻繁にチェックできます。タイムアウトは、オプション requestTimeout によって決定されます。 | 1000 | long |
synchronous (上級) | 同期処理を厳密に使用するかどうかを設定します。 | false | boolean |
transferException (上級) | 有効にすると、リクエスト応答メッセージング(InOut)を使用し、エクスチェンジがコンシューマー側で失敗した場合、原因となった例外は応答として javax.jms.ObjectMessage として送り返されます。クライアントが Camel の場合、返された Exception は再出力されます。これにより、Camel JMS をルーティングのブリッジとして使用できます。たとえば、永続キューを使用して堅牢なルーティングを有効にすることができます。transferExchange も有効にされている場合、このオプションは優先されることに注意してください。キャッチされた例外はシリアライズ可能である必要があります。コンシューマー側の元の例外は、プロデューサーに返されるときに org.apache.camel.RuntimeCamelException などの外部例外でラップできます。データは Java Object シリアライゼーションを使用し、受信した がクラスレベルでデータをデシリアライズできる必要があります。これにより、プロデューサーとコンシューマー間の強力な結合が強制的に実行されます。 | false | boolean |
transferExchange (上級) | ボディーとヘッダーだけでなく、ネットワーク上でエクスチェンジを転送することができます。以下のフィールドは転送されます:ボディー、Out body、Fault ボディー、In headers、Out ヘッダー、Fault ヘッダー、エクスチェンジプロパティー、エクスチェンジ例外。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化できないオブジェクトを除外し、WARN レベルでログに記録します。このオプションはプロデューサーとコンシューマーの両方で有効にする必要があります。したがって、Camel はペイロードが通常のペイロードではなく Exchange であることを認識します。データは Java Object シリアライゼーションを使用し、受信側がクラスレベルでデータをデシリアライズできるようにする必要があるため、これを使用してください。これにより、プロデューサーとコンシューマー間の結合が互換性のある Camel バージョンを使用する必要があります。 | false | boolean |
useMessageIDAsCorrelationID (上級) | JMSMessageID を常に InOut メッセージの JMSCorrelationID として使用するかどうかを指定します。 | false | boolean |
waitForProvisionCorrelationToBeUpdatedCounter (advanced) | JMS 上でリクエスト/リプライを実行し、useMessageIDAsCorrelationID オプションが有効になっているときに、プロビジョニング相関 ID が実際の相関 ID に更新されるのを待つ回数。 | 50 | int |
waitForProvisionCorrelationToBeUpdatedThreadSleepingTime (advanced) | プロビジョニング相関 ID の更新を待機している間に毎回スリープ状態になる間隔(ミリ秒単位)。 | 100 | long |
headerFilterStrategy (フィルター) | カスタムの org.apache.camel.spi.HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルターします。 | HeaderFilterStrategy | |
errorHandlerLoggingLevel (logging) | キャッチされていない例外をログに記録するためのデフォルトの errorHandler ログレベルを設定できます。 列挙値:
| WARN | LoggingLevel |
errorHandlerLogStackTrace (logging) | デフォルトの errorHandler でスタックトレースをログに記録するかどうかを制御できます。 | true | boolean |
password (セキュリティー) | ConnectionFactory で使用するパスワード。また、ConnectionFactory でユーザー名およびパスワードを直接設定することもできます。 | 文字列 | |
username (セキュリティー) | ConnectionFactory で使用するユーザー名。また、ConnectionFactory でユーザー名およびパスワードを直接設定することもできます。 | 文字列 | |
トランザクション (トランザクション) | トランザクションモードを使用するかどうかを指定します。 | false | boolean |
transactedInOut (transaction) | InOut 操作(要求応答)がトランザクションモードを使用するようにデフォルトになるかどうかを指定します。このフラグが true に設定されている場合、Spring JmsTemplate では sessionTransacted が true に設定され、InOut 操作に使用される JmsTemplate で acknowledgeMode が transacted として設定されます。Spring JMS 以降:JTA トランザクション内で、createQueue に渡されるパラメーター、createTopic メソッドは考慮されないことに注意してください。Java EE トランザクションコンテキストに応じて、コンテナーはこれらの値を独自に決定します。同様に、Spring JMS は既存の JMS セッションで動作するため、これらのパラメーターはローカル管理トランザクション内で考慮されません。このフラグを true に設定すると、管理トランザクションの外部で実行された場合に短いローカル JMS トランザクションを使用し、管理トランザクション(XA トランザクション以外)が存在する場合に同期されたローカル JMS トランザクションを使用します。これにより、ローカル JMS トランザクションがメイントランザクション(ネイティブ JDBC トランザクションなど)とともに管理され、JMS トランザクションはメイントランザクションの直後にコミットされます。 | false | boolean |
lazyCreateTransactionManager (transaction (advanced)) | true の場合、オプション transacted=true 時に transactionManager が注入されない場合、Camel は JmsTransactionManager を作成します。 | true | boolean |
transactionManager (トランザクション (上級)) | 使用する Spring トランザクションマネージャー。 | PlatformTransactionManager | |
transactionName (トランザクション (上級)) | 使用するトランザクションの名前。 | 文字列 | |
transactionTimeout (トランザクション (上級)) | トランザクションモードを使用している場合の、トランザクションのタイムアウト値 (秒単位)。 | -1 | int |