検索

179.3. 注記

download PDF

179.3.1. ActiveMQ の使用

JMS コンポーネントは、Spring 2 の JmsTemplate を再利用してメッセージを送信します。これは非 J2EE コンテナーでの使用には理想的ではなく、通常、パフォーマンスの低下 を避けるために JMS プロバイダーでのキャッシュが必要になります。

Apache ActiveMQ をメッセージブローカーとして使用する場合は、次のいずれかを実行することを推奨します。

  • ActiveMQ を効率的に使用するためにすでに最適化されている ActiveMQ コンポーネントを使用する
  • ActiveMQ で PoolingConnectionFactory を使用します。

179.3.2. トランザクションとキャッシュレベル

メッセージを消費してトランザクションを使用している場合 (transacted=true)、キャッシュレベルのデフォルト設定がパフォーマンスに影響を与える可能性があります。

XA トランザクションを使用している場合は、XA トランザクションが正しく機能しなくなる可能性があるため、キャッシュできません。

XA を使用して いない 場合は、cacheLevelName=CACHE_CONSUMER を設定するなど、キャッシュを使用してパフォーマンスを高速化することを検討する必要があります。

Camel 2.7.x では、cacheLevelName のデフォルト設定は CACHE_CONSUMER です。cacheLevelName=CACHE_NONE を明示的に設定する必要があります。

Camel 2.8 以降では、cacheLevelName のデフォルト設定は CACHE_AUTO です。このデフォルトの自動モードはモードを検出し、それに応じてキャッシュレベルを設定します。

  • transacted=false の場合は CACHE_CONSUMER
  • transacted=true の場合は CACHE_NONE

したがって、デフォルト設定は保守的であると言えます。非 XA トランザクションを使用している場合は、cacheLevelName=CACHE_CONSUMER の使用を検討してください。

179.3.3. 永続サブスクリプション

永続的なトピックサブスクリプションを使用する場合は、clientIddurableSubscriptionName の両方を指定する必要があります。clientId の値は一意である必要があり、ネットワーク全体で単一の JMS 接続インスタンスによってのみ使用できます。この制限を回避するために、代わりに 仮想トピック を使用することを推奨します。耐久性のあるメッセージングの詳細については、こちら をご覧ください。

179.3.4. メッセージヘッダーのマッピング

JMS 仕様では、メッセージヘッダーを使用する場合、ヘッダー名は有効な Java 識別子である必要があると規定されています。そのため、有効な Java 識別子になるようにヘッダーに名前を付けるようにしてください。これを行う利点の 1 つは、JMS セレクター内でヘッダーを使用できることです (その SQL92 構文では、ヘッダーの Java 識別子構文が義務付けられています)。

デフォルトでは、ヘッダー名をマッピングする単純な方法が使用されます。以下に示すように、ヘッダー名のドットとハイフンをすべて置き換え、ネットワーク経由で送信された JMS メッセージからヘッダー名が復元されたときに置き換えを元に戻す方法です。意味を確認するBean コンポーネントで呼び出すメソッド名が失われたり、ファイルコンポーネントのファイル名ヘッダーが失われたりすることはもうありません。

Camel でヘッダー名を受け入れるための現在のヘッダー名戦略は次のとおりです。

  • ドットは DOT に置き換えられ、Camel がメッセージを消費すると置換が逆になります
  • ハイフンは HYPHEN に置き換えられ、Camel がメッセージを消費すると置換が逆になります
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.