26.4. エンドポイントオプション


JMS エンドポイントは、URI 構文を使用して設定されます。

jms:destinationType:destinationName
Copy to Clipboard Toggle word wrap

パスおよびクエリーパラメーターを使用します。

26.4.1. パスパラメーター (2 パラメーター)

Expand
Name説明デフォルトタイプ

destinationType (common)

使用する宛先の種類。

列挙値:

  • queue
  • topic
  • temp-queue
  • temp-topic

queue

String

destinationName (common)

必須 宛先として使用するキューまたはトピックの名前。

 

String

26.4.2. クエリーパラメーター (95 パラメーター)

Expand
Name説明デフォルトタイプ

clientId (共通)

使用する JMS クライアント ID を設定します。この値を指定する場合は、一意である必要があり、単一の JMS 接続インスタンスでのみ使用できることに注意してください。通常、永続的なトピックサブスクリプションの場合にのみ必要です。Apache ActiveMQ を使用している場合は、代わりに仮想トピックを使用することをお勧めします。

 

String

connectionFactory (共通)

使用する接続ファクトリー。コンポーネントまたはエンドポイントで接続ファクトリーを設定する必要があります。

 

ConnectionFactory

disableReplyTo (共通)

Camel がメッセージの JMSReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は JMSReplyTo ヘッダーで指定された宛先に返信を送り返しません。Camel にルートから消費させたいが、コード内の別のコンポーネントが応答メッセージを処理するため、Camel に自動的に応答メッセージを送り返したくない場合は、このオプションを使用できます。Camel を異なるメッセージブローカー間のプロキシーとして使用し、あるシステムから別のシステムにメッセージをルーティングする場合にも、このオプションを使用できます。

false

boolean

durableSubscriptionName (共通)

永続トピックサブスクリプションを指定するための永続サブスクライバー名。clientId オプションも設定する必要があります。

 

String

jmsMessageType (共通)

JMS メッセージの送信に特定の javax.jms.Message 実装を強制的に使用できるようにします。可能な値は、Bytes、Map、Object、Stream、Text です。デフォルトでは、Camel は In body タイプから使用する JMS メッセージタイプを決定します。このオプションで指定できます。

列挙値:

  • バイト
  • マップ
  • オブジェクト
  • ストリーム
  • テキスト
 

JmsMessageType

replyTo (共通)

明示的な ReplyTo 宛先を提供します (コンシューマーの Message.getJMSReplyTo() の着信値をオーバーライドします)。

 

String

testConnectionOnStartup (common)

起動時に接続をテストするかどうかを指定します。これにより、Camel の起動時に、すべての JMS コンシューマーが JMS ブローカーへの有効な接続を持つことが保証されます。接続を許可できない場合、Camel は起動時に例外を出力します。これにより、接続に失敗した状態で Camel が開始されなくなります。JMS プロデューサーもテストされています。

false

boolean

acknowledgementModeName (コンシューマー)

JMS 確認応答名。SESSION_TRANSACTED、CLIENT_ACKNOWLEDGE、AUTO_ACKNOWLEDGE、DUPS_OK_ACKNOWLEDGE のいずれかです。

列挙値:

  • SESSION_TRANSACTED
  • CLIENT_ACKNOWLEDGE
  • AUTO_ACKNOWLEDGE
  • DUPS_OK_ACKNOWLEDGE

AUTO_ACKNOWLEDGE

String

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
  • CACHE_CONNECTION
  • CACHE_CONSUMER
  • CACHE_NONE
  • CACHE_SESSION

CACHE_AUTO

String

concurrentConsumers (コンシューマー)

JMS から消費する場合の同時コンシューマーのデフォルト数を指定します (JMS を介した要求/応答ではありません)。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。JMS を介して要求/応答を行う場合は、オプション replyToConcurrentConsumers を使用して、応答メッセージリスナーの同時コンシューマーの数を制御します。

1

int

maxConcurrentConsumers (コンシューマー)

JMS から消費する場合の同時コンシューマーの最大数を指定します (JMS を介した要求/応答ではありません)。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。JMS を介して要求/応答を行う場合は、オプション replyToMaxConcurrentConsumers を使用して、応答メッセージリスナーの同時コンシューマーの数を制御します。

 

int

replyToDeliveryPersistent (コンシューマー)

返信に対してデフォルトで永続的な配信を使用するかどうかを指定します。

true

boolean

selector (コンシューマー)

使用する JMS セレクターを設定します。

 

String

subscriptionDurable (コンシューマー)

サブスクリプションを永続化するかどうかを設定します。使用する永続サブスクリプション名は、subscriptionName プロパティーで指定できます。デフォルトは false です。通常、subscriptionName 値と組み合わせて永続的なサブスクリプションを登録するには、これを true に設定します (メッセージリスナークラス名がサブスクリプション名として十分でない場合)。トピック (pub-sub ドメイン) をリッスンする場合にのみ意味があるため、このメソッドは pubSubDomain フラグも切り替えます。

false

boolean

subscriptionName (コンシューマー)

作成するサブスクリプションの名前を設定します。共有または永続的なサブスクリプションを持つトピック (pub-sub ドメイン) の場合に適用されます。サブスクリプション名は、このクライアントの JMS クライアント ID 内で一意である必要があります。デフォルトは、指定されたメッセージリスナーのクラス名です。注: 共有サブスクリプション (JMS 2.0 が必要) を除き、サブスクリプションごとに 1 つの同時コンシューマー (このメッセージリスナコンテナーのデフォルト) のみが許可されます。

 

String

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 が決まります。

列挙値:

  • Simple (単純)
  • デフォルト
  • カスタム

デフォルト

ConsumerType

defaultTaskExecutorType (コンシューマー (上級))

コンシューマーエンドポイントとプロデューサエンドポイントの ReplyTo コンシューマーの両方に対して、DefaultMessageListenerContainer で使用するデフォルトの TaskExecutor タイプを指定します。可能な値: SimpleAsync (Spring の SimpleAsyncTaskExecutor を使用) または ThreadPool (Spring の ThreadPoolTaskExecutor を最適な値で使用 - キャッシュされたスレッドプールのようなもの)。設定されていない場合は、デフォルトで以前の動作になり、コンシューマーエンドポイントにはキャッシュされたスレッドプールが使用され、応答コンシューマーには SimpleAsync が使用されます。ThreadPool の使用は、同時コンシューマーが動的に増減するエラスティック設定でスレッドのゴミを減らすために推奨されます。

列挙値:

  • ThreadPool
  • SimpleAsync
 

DefaultTaskExecutorType

eagerLoadingOfProperties (consumer (advanced))

メッセージが読み込まれるとすぐに JMS プロパティーとペイロードの熱心な読み込みを有効にします。これは、JMS プロパティーが必要ない場合があるため一般的に非効率的ですが、基盤となる JMS プロバイダーと JMS プロパティーの使用に関する問題を早期に発見できる場合があります。オプション eagerPoisonBody も参照してください。

false

boolean

eagerPoisonBody (コンシューマー (上級))

eagerLoadingOfProperties が有効であり、JMS メッセージペイロード (JMS 本文または JMS プロパティー) が有害 (読み取り/マッピングできない) である場合は、代わりにこのテキストをメッセージボディーとして設定し、メッセージを処理できるようにします (有害の原因は、Exchange では例外としてすでに保存されています)。これは、eagerPoisonBody=false を設定することでオフにすることができます。オプション eagerLoadingOfProperties も参照してください。

$\{exception.message} による JMS メッセージへの影響

String

exceptionHandler (コンシューマー (上級))

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

 

ExceptionHandler

exchangePattern (コンシューマー (上級))

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。

列挙値:

  • InOnly
  • InOut
  • InOptionalOut
 

ExchangePattern

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。

列挙値:

  • 1
  • 2
 

Integer

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 オプションも有効にする必要があります。

列挙値:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

4

int

replyToConcurrentConsumers (プロデューサー)

JMS を介して要求/応答を行うときの同時コンシューマーのデフォルト数を指定します。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。

1

int

replyToMaxConcurrentConsumers (producer)

JMS を介した要求/応答を使用する場合の同時コンシューマーの最大数を指定します。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。

 

int

replyToOnTimeoutMaxConcurrentConsumers (producer)

JMS 経由の要求/応答を使用するときにタイムアウトが発生したときに、ルーティングを継続するための同時コンシューマーの最大数を指定します。

1

int

replyToOverride (プロデューサー)

JMS メッセージで明示的な ReplyTo 宛先を提供します。これは、replyTo の設定をオーバーライドします。メッセージをリモート Queue に転送し、ReplyTo 宛先から応答メッセージを受け取る場合に便利です。

 

String

replyToType (プロデューサー)

JMS を介して要求/応答を行うときに、replyTo キューに使用する戦略の種類を明示的に指定できます。可能な値は、Temporary、Shared、または Exclusive です。デフォルトでは、Camel は一時キューを使用します。ただし、replyTo が設定されている場合は、デフォルトで Shared が使用されます。このオプションを使用すると、共有キューの代わりに専用キューを使用できます。詳細については、Camel JMS のドキュメントを参照してください。特に、クラスター化された環境で実行する場合の影響に関する注意事項と、共有応答キューは代替の一時および排他的キューよりもパフォーマンスが低いという事実を参照してください。

列挙値:

  • Temporary
  • 共有
  • 排他的
 

ReplyToType

requestTimeout (プロデューサー)

InOut Exchange パターン使用時の応答待ちタイムアウト (ミリ秒単位)。デフォルトは 20 秒です。ヘッダー CamelJmsRequestTimeout を含めて、このエンドポイントで設定されたタイムアウト値をオーバーライドし、メッセージごとに個別のタイムアウト値を持つことができます。requestTimeoutCheckerInterval オプションも参照してください。

20000

long

timeToLive (プロデューサー)

メッセージの送信時に、メッセージの有効期限をミリ秒単位で指定します。

-1

long

allowAdditionalHeaders (プロデューサー (上級))

このオプションは、JMS 仕様に従って無効な値を持つ可能性がある追加のヘッダーを許可するために使用されます。たとえば、WMQ などの一部のメッセージシステムは、バイト配列またはその他の無効な型の値を含む接頭辞 JMS_IBM_MQMD_ を使用するヘッダー名でこれを行います。コンマで区切られた複数のヘッダー名を指定し、ワイルドカードマッチングの接尾辞として使用できます。

 

String

allowNullBody (プロデューサー (上級))

ボディーのないメッセージの送信を許可するかどうか。このオプションが false でメッセージボディーが null の場合は、JMSException が出力されます。

true

boolean

alwaysCopyMessage (プロデューサー (上級))

true の場合、メッセージがプロデューサーに渡されて送信されると、Camel は常にメッセージの JMS メッセージコピーを作成します。replyToDestinationSelectorName が設定されている場合など、状況によってはメッセージをコピーする必要があります (ちなみに、replyToDestinationSelectorName が設定されている場合、Camel は alwaysCopyMessage オプションを true に設定します)。

false

boolean

correlationProperty (producer (advanced))

InOut 交換パターンを使用する場合、JMSCorrelationID JMS プロパティーの代わりにこの JMS プロパティーを使用してメッセージを関連付けます。設定されたメッセージがこのプロパティーの値のみに関連付けられる場合、JMSCorrelationID プロパティーは無視され、Camel によって設定されません。

 

String

disableTimeToLive (プロデューサー (上級))

このオプションを使用して、有効期限を強制的に無効にします。たとえば、JMS を介して要求/応答を行う場合、Camel はデフォルトで、送信されるメッセージの存続時間として requestTimeout 値を使用します。問題は、送信側システムと受信側システムのクロックを同期させる必要があるため、同期していることです。これをアーカイブするのは必ずしも簡単ではありません。したがって、disableTimeToLive=true を使用して、送信されたメッセージに有効期限の値を設定しないようにすることができます。その後、メッセージは受信側システムで期限切れになりません。詳細については、以下の生存時間についてのセクションを参照してください。

false

boolean

forceSendOriginalMessage (プロデューサー (上級))

mapJmsMessage=false を使用すると、ルート中にヘッダーに触れると (get または set)、Camel は新しい JMS メッセージを作成して新しい JMS 宛先に送信します。Camel が受信した元の JMS メッセージを強制的に送信するには、このオプションを true に設定します。

false

boolean

includeSentJMSMessageID (producer (advanced))

InOnly を使用して JMS 宛先に送信する場合にのみ適用されます (例: ファイアアンドフォーゲット)。このオプションを有効にすると、メッセージが JMS 宛先に送信されたときに JMS クライアントによって使用された実際の JMSMessageID で Camel Exchange が強化されます。

false

boolean

replyToCacheLevelName (producer (advanced))

JMS を介して要求/応答を行うときに、応答コンシューマーのキャッシュレベルを名前で設定します。このオプションは、固定応答キュー (一時的ではない) を使用する場合にのみ適用されます。Camel はデフォルトで次を使用します: 排他的または replyToSelectorName と共有の CACHE_CONSUMER。そして、replyToSelectorName なしで共有するための CACHE_SESSION。IBM WebSphere などの一部の JMS ブローカーは、replyToCacheLevelName=CACHE_NONE を機能させるために設定する必要がある場合があります。注: 一時キューを使用する場合、CACHE_NONE は許可されず、CACHE_CONSUMER や CACHE_SESSION などのより高い値を使用する必要があります。

列挙値:

  • CACHE_AUTO
  • CACHE_CONNECTION
  • CACHE_CONSUMER
  • CACHE_NONE
  • CACHE_SESSION
 

String

replyToDestinationSelectorName (producer (advanced))

使用する固定名を使用して JMS セレクターを設定し、共有キューを使用している場合 (つまり、一時的な応答キューを使用していない場合) に、他の応答から自分の応答を除外できるようにします。

 

String

streamMessageTypeEnabled (producer (advanced))

StreamMessage タイプを有効にするかどうかを設定します。ファイル、InputStream などのストリーミングの種類のメッセージペイロードは、BytesMessage または StreamMessage として送信されます。このオプションは、どの種類が使用されるかを制御します。デフォルトでは、BytesMessage が使用され、メッセージペイロード全体がメモリーに読み込まれます。このオプションを有効にすると、メッセージペイロードがチャンク単位でメモリーに読み込まれ、データがなくなるまで各チャンクが StreamMessage に書き込まれます。

false

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

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

headerFilterStrategy (上級)

カスタムの HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルタリングします。

 

HeaderFilterStrategy

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 の独自の実装を提供し、# 表記を使用して参照できます。

列挙値:

  • default
  • パススルー
 

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

receiveTimeout (上級)

メッセージ受信のタイムアウト (ミリ秒単位)。

1000

long

recoveryInterval (上級)

リカバリーの試行の間隔を指定します。つまり、接続が更新されるタイミング(ミリ秒単位)を指定します。デフォルトは 5000 ミリ秒、つまり 5 秒です。

5000

long

requestTimeoutCheckerInterval (advanced)

JMS を介してリクエスト/リプライを行うときに、Camel がタイムアウトになった Exchange をチェックする頻度を設定します。デフォルトでは、Camel は 1 秒に 1 回確認します。ただし、タイムアウトが発生したときに迅速に対応する必要がある場合は、この間隔を短くして、より頻繁にチェックすることができます。タイムアウトは、オプション requestTimeout によって決定されます。

1000

long

synchronous (上級)

同期処理を厳密に使用するかどうかを設定します。

false

boolean

transferException (上級)

有効で、Request Reply メッセージング (InOut) を使用していて、Exchange がコンシューマー側で失敗した場合、原因となった例外が javax.jms.ObjectMessage として応答で返されます。クライアントが Camel の場合、返された Exception は再出力されます。これにより、Camel JMS をルーティングのブリッジとして使用できます。たとえば、永続的なキューを使用して堅牢なルーティングを有効にできます。transferExchange も有効にしている場合は、このオプションが優先されることに注意してください。キャッチされた例外はシリアライズ可能である必要があります。コンシューマー側の元の Exception は、プロデューサーに返されるときに org.apache.camel.RuntimeCamelException などの外部例外にラップできます。データは Java オブジェクトのシリアライゼーションを使用しており、受信側がクラスレベルでデータをデシリアライズできる必要があるため、これは注意して使用してください。

false

boolean

transferExchange (上級)

本文とヘッダーだけでなく、電信送金で交換を転送できます。次のフィールドが転送されます: In body、Out body、Fault body、In ヘッダー、Out ヘッダー、Fault ヘッダー、交換プロパティー、交換例外。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化できないオブジェクトを除外し、WARN レベルでログに記録します。プロデューサ側とコンシューマー側の両方でこのオプションを有効にする必要があるため、Camel はペイロードが Exchange であり、通常のペイロードではないことを認識します。データは Java オブジェクトのシリアライゼーションを使用しており、レシーバーがクラスレベルでデータをデシリアライズできる必要があるため、これは注意して使用してください。これにより、互換性のある Camel バージョンを使用する必要があるプロデューサーとコンシューマーの間の強い結合が強制されます。

false

boolean

useMessageIDAsCorrelationID (上級)

InOut メッセージの JMSCorrelationID として JMSMessageID を常に使用するかどうかを指定します。

false

boolean

waitForProvisionCorrelationToBeUpdatedCounter (advanced)

JMS を介して要求/応答を行う場合、およびオプション useMessageIDAsCorrelationID が有効な場合に、暫定相関 ID が実際の相関 ID に更新されるのを待機する回数。

50

int

waitForProvisionCorrelationToBeUpdatedThreadSleepingTime (advanced)

暫定相関 ID が更新されるのを待機するたびにスリープする間隔 (ミリ単位)。

100

long

errorHandlerLoggingLevel (logging)

キャッチされていない例外をログに記録するためのデフォルトの errorHandler ログレベルを設定できます。

列挙値:

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • OFF

WARN

LoggingLevel

errorHandlerLogStackTrace (logging)

デフォルトの errorHandler でスタックトレースをログに記録するかどうかを制御できます。

true

boolean

password (セキュリティー)

ConnectionFactory で使用するパスワード。また、ConnectionFactory でユーザー名およびパスワードを直接設定することもできます。

 

String

username (セキュリティー)

ConnectionFactory で使用するユーザー名。また、ConnectionFactory でユーザー名およびパスワードを直接設定することもできます。

 

String

取引済み (取引)

トランザクションモードを使用するかどうかを指定します。

false

boolean

transactedInOut (トランザクション)

InOut 操作 (リクエストリプライ) がデフォルトでトランザクションモードを使用するかどうかを指定します。このフラグが true に設定されている場合、Spring JmsTemplate は sessionTransacted を true に設定し、acknowledgeMode は InOut 操作に使用される JmsTemplate でトランザクションされます。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 (トランザクション (上級))

使用するトランザクションの名前。

 

String

transactionTimeout (トランザクション (上級))

トランザクションモードを使用している場合の、トランザクションのタイムアウト値 (秒単位)。

-1

int

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat