第33章 DataSet


データセットコンポーネント

DataSet コンポーネント(1.3.0 以降で利用可能)は、システムの負荷およびソークテストを簡単に実行するメカニズムを提供します。これは、メッセージのソースとして、データセットを受け取ることをアサートする方法の両方で、DataSet インスタンス を作成することを可能にすることで機能します。
Apache Camel は、データセットの送信時に スループットロガー を使用します。

URI 形式

dataset:name[?options]
Copy to Clipboard Toggle word wrap
name は、レジストリーで DataSet インスタンス を見つけるために使用されます。
Apache Camel には、org.apache.camel.component.dataset.DataSet のサポート実装が同梱されており、独自の DataSet を実装するためのベースとして使用できる org.apache.camel.component.dataset.DataSetSupport クラスです。Apache Camel には、テストに使用できる実装( org.apache.camel.component.dataset.SimpleDataSetorg.apache.camel.component.dataset.ListDataSet、および org.apache.camel.component.dataset.FileDataSet )も同梱されます。これらはすべて DataSetSupport を拡張します。

オプション

Expand
オプション デフォルト 説明
produceDelay 3 遅延をミリ秒単位で指定できます。これにより、プロデューサーが一時停止し、低速なプロデューサーをシミュレートします。このオプションを -1 に設定し、遅延なしを強制しない限り、最低 3 ミリ秒の遅延を使用します。
consumeDelay 0 ミリ秒で遅延を指定できるようにします。これにより、コンシューマーは低速なコンシューマーをシミュレートするために一時停止します。
preloadSize 0 ルートが初期化を完了する前に事前ロードするメッセージ数を設定します(送信)。
initialDelay 1000 Camel 2.1: メッセージの送信を開始する前に待機する期間(ミリ秒単位)。
minRate 0 DataSet にこの数のメッセージが含まれるまで待ちます。
dataSetIndex lenient
Camel 2.17: CamelDataSetIndex ヘッダーの動作を制御します。サポートされる値は strictlenient および off です。Camel 2.17 より前のデフォルトの動作は、dataSetIndex=strict を設定して復元できます。
コンシューマーの場合:
strict または、 lenient
CamelDataSetIndex ヘッダーは常に設定されます。
off
CamelDataSetIndex ヘッダーは設定されません。
プロデューサーの場合:
strict
CamelDataSetIndex ヘッダーが存在し、ヘッダーの値を確認します。
lenient
CamelDataSetIndex ヘッダーが存在する場合は、ヘッダーの値が検証されます。ヘッダーが存在しない場合は設定されます。
off
CamelDataSetIndex ヘッダーがある場合、ヘッダーの値は検証されません。ヘッダーが存在しない場合は設定されません。
URI にクエリーオプションは ?option=value&option=value&.. の形式で追加できます。

DataSet の設定

Apache Camel は、DataSet インターフェイスを実装する Bean のレジストリーでルックアップします。そのため、以下のように独自の DataSet を登録できます。
   <bean id="myDataSet" class="com.mycompany.MyDataSet">
      <property name="size" value="100"/>
   </bean>
Copy to Clipboard Toggle word wrap

たとえば、メッセージのセットがキューに送信され、メッセージを失うことなくキューから消費されることをテストするには、以下を実行します。
// send the dataset to a queue
from("dataset:foo").to("activemq:SomeQueue");

// now lets test that the messages are consumed correctly
from("activemq:SomeQueue").to("dataset:foo");
Copy to Clipboard Toggle word wrap
上記はレジストリーを検索して、メッセージの作成に使用される foo DataSet インスタンスを見つけます。
次に、以下に示すように SimpleDataSet を使用するなど、DataSet 実装を作成し、データセットのサイズやメッセージがどのように見えるかなどを設定します。

DataSetSupport のプロパティー

Expand
プロパティー
タイプ
デフォルト
説明
defaultHeaders
Map<String,Object>
null
デフォルトのメッセージボディーを指定します。SimpleDataSet の場合、これは一定のペイロードです。ただし、メッセージごとにカスタムペイロードを作成する場合は、DataSetSupport の独自の導出を作成します。
outputTransformer
org.apache.camel.Processor
null
size
long
10
送信/消費するメッセージの数を指定します。
reportCount long -1 進捗を報告する前に受信するメッセージの数を指定します。大規模な負荷テストの進捗を表示するのに便利です。< 0 の場合、size / 5、が 0 の場合は size、それ以外の場合は reportCount 値に設定されます。

SimpleDataSet

SimpleDataSetDataSetSupport を拡張し、デフォルトのボディーを追加します。
Expand
表33.1 SimpleDataSet の追加プロパティー
プロパティー
タイプ
デフォルト
説明
defaultBody
Object
<hello>world!</hello>
デフォルトのメッセージボディーを指定します。SimpleDataSet の場合、これは一定のペイロードです。ただし、メッセージごとにカスタムペイロードを作成する場合は、DataSetSupport の独自の導出を作成します。

ListDataSet

ListDataSetDataSetSupport を拡張し、デフォルトの本文の一覧を追加します。
Expand
表33.2 ListDataSet の追加プロパティー
プロパティー
タイプ
デフォルト
説明
defaultBodies
Object
<hello>world!</hello>
size
long
10

FileDataSet

SimpleDataSetListDataSet を拡張し、ファイルから本文を読み込むサポートを追加します。
Expand
表33.3 FileDataSet の追加プロパティー
プロパティー
タイプ
デフォルト
説明
sourceFile
String
null
delimiter
String
\z
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat