アプリケーション開発ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

アプリケーションをテストする Load Generator の使用

この節では、以下の項目について説明します。

 


Load Generator ユーティリティの概要

load generator は、データ フィードをシミュレートするために Oracle Complex Event Processing (略称 Oracle CEP) で提供される単純なユーティリティです。このユーティリティは、実世界のデータ フィードに接続する必要がないためアプリケーションの EPL ルールをテストする際に役立ちます。

load generator は、サンプルのデータ フィード情報が含まれた ASCII ファイルを読み込み、コンフィグレーションされたポートに各データ項目を送信します。load generator ではサンプル データ ファイルの項目が順番に読み込まれ、ストリームに挿入されます。末尾まで達したらデータ ファイルの先頭に戻ることを繰り返し、これによってファイル内のデータ項目数に関係なく、連続するデータ ストリームを使用できることが保証されます。送信データの速度、開始時点の速度、最終的な速度、最終的な速度に達するまでの時間をコンフィグレーションできます。

アプリケーションでは、着信データを読み込む際に、独自のアダプタの代わりに Oracle CEP で提供される csvgen アダプタを使用する必要があります。これは、csvgen アダプタが load generator で生成されたデータ パケットを復号化するよう特別にコーディングされているためです。

load generator を使用するには、以下の手順を実行します。

  1. 必要に応じて、load generator の特定の実行用のコンフィグレーション プロパティが含まれたプロパティ ファイルを作成します。これらのプロパティでは、シミュレート データが含まれたファイルの場所、ジェネレータがデータを供給するポートなどが指定されます。
  2. Oracle CEP にはデフォルトのプロパティ値が適切である場合に使用できる、デフォルトのプロパティ ファイルが用意されています。

    Load Generator のプロパティ ファイルの作成」を参照してください。

  3. 実際のデータ フィード値が含まれたファイルを作成します。
  4. データ フィード ファイルの作成」を参照してください。

  5. load generator で生成されたデータ フィードが正常に読み込まれるように csvgen アダプタをコンフィグレーションします。Oracle CEP アプリケーションを記述する EPN アセンブリ ファイルでアダプタをコンフィグレーションします。
  6. アプリケーションの csvgen アダプタのコンフィグレーション」を参照してください。

  7. イベント タイプを作成するためのビルダ ファクトリを必ずコンフィグレーションします。イベント タイプのビルダ ファクトリを指定するタスクは通常は省略可能ですが、load generator を使用する場合には必須です。
  8. 詳細については、「イベント タイプの作成」を参照してください。

  9. 新しいコマンド ウィンドウを開き、「開発環境の設定」の説明に従って、環境を設定します。
  10. ORACLE_CEP_HOME\ocep_10.3\utils\load-generator ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  11. 手順 1 で作成したプロパティ ファイルを指定してload generator を実行し、シミュレートされたデータ フィードを開始します。たとえば、プロパティ ファイル名が c:\loadgen\myDataFeed.prop の場合は、以下のコマンドを実行します。
  12. prompt> runloadgen.cmd c:\loadgen\myDataFeed.prop

アプリケーションを再デプロイした場合は、load generator も再起動する必要があります。

 


Load Generator のプロパティ ファイルの作成

load generator ではコンフィグレーションに ASCII プロパティ ファイルが使用されます。プロパティには、サンプルのデータ フィード値が含まれたファイルの場所、ユーティリティがデータ フィードを送信するポートなどがあります。

Oracle CEP で提供されるデフォルトのプロパティ ファイル csvgen.propORACLE_CEP_HOME\ocep_10.3\utils\load-generator ディレクトリにあります。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。

ファイルの形式は単純で、プロパティと値の各ペアが各行に置かれます。次の例は、デフォルトの csvgen.prop ファイルです。このファイルを独自のプロパティ ファイルのテンプレートとして使用することをお勧めします。

  test.csvDataFile=test.csv
test.port=9001
test.packetType=CSV
test.mode=client
test.senders=1
test.latencyStats=false
test.statInterval=2000
警告 : 独自のプロパティ ファイルを作成する場合は、test.packetType、test.modetest.senderstest.latencyStats、および test.statInterval の各プロパティを厳密に上記のとおりに含める必要があります。

上記のプロパティ ファイルの例では、サンプル データを含むファイル test.csv はプロパティ ファイルと同じディレクトリにあります。load generator によってポート 9001 にデータ フィードが送信されます。

次の表に、プロパティ ファイルで設定できる追加のプロパティを示します。

表 11-1 Load Generator のプロパティ
プロパティ
説明
データ型
必須/省略可能
test.csvDataFile
データ フィード値が含まれたファイルを指定します。
String
必須
test.port
load generator がデータ フィードを送信するポート番号。
Integer
必須
test.secs
load generator の秒単位の実行時間。
デフォルト値は 30 です。
Integer
省略可能
test.rate
最終データ速度 (毎秒のメッセージ数単位)。
デフォルト値は 1 です。
Integer
省略可能
test.startRate
初期データ速度 (毎秒のメッセージ数単位)。
デフォルト値は 1 です。
Integer
省略可能
test.rampUpSecs
test.startRate から test.rate に達するまでの秒数。
デフォルト値は 0 です。
Integer
省略可能

 


データ フィード ファイルの作成

サンプルのデータ フィード値が含まれたファイルは Oracle CEP アプリケーションに登録されたイベント タイプに対応しています。ファイルは単純な形式に従います。

次のサンプル データ フィード ファイルでは、各項目が nameage、および birthplace の各フィールドを持つ人物に対応しています。

 Lucy,23,Madagascar
Nick,44,Canada
Amanda,12,Malaysia
Juliet,43,Spain
Horatio,80,Argentina

 


アプリケーションの csvgen アダプタのコンフィグレーション

Oracle CEP で提供される csvgen アダプタは、load generator で生成されたデータ パケットを読み込むよう特別にコーディングされているため、アプリケーションではこのアダプタを使用する必要があります。

すべてのアダプタと同じように、アプリケーションの EPN アセンブリ ファイルの <wlevs:adapter> タグを使用して、csvgen アダプタを登録します。provider="csvgen" 属性を使用して、独自のアダプタの代わりに csvgen アダプタをプロバイダとして指定します。また、以下の子タグを指定する必要があります。

アダプタのコンフィグレーションの方法を説明する前に、まず EPN アセンブリ ファイルで <wlevs:metada> を使用して、アプリケーションにイベント タイプ PersonType が登録されていると想定します。

    <wlevs:event-type-repository>
<wlevs:event-type type-name="PersonType">
<wlevs:metadata>
<entry key="name" value="java.lang.String"/>
<entry key="age" value="java.lang.Integer"/>
<entry key="birthplace" value="java.lang.String"/>
</wlevs:metadata>
</wlevs:event-type>
</wlevs:event-type-repository>

このイベント タイプは「データ フィード ファイルの作成」で説明しているデータ フィード ファイルに対応しています。

このデータを受信する csvgen アダプタをコンフィグレーションするには、以下の <wlevs:adapter> タグを使用します。

<wlevs:adapter id="csvgenAdapter" provider="csvgen">
<wlevs:instance-property name="port" value="9001"/>
<wlevs:instance-property name="eventTypeName" value="PersonType"/>
<wlevs:instance-property name="eventPropertyNames"
value="name,age,birthplace"/>
</wlevs:adapter>

アダプタ コンフィグレーションの例に示す太字部分の値が PersonType イベント タイプの登録にどのように対応しているかに注目してください。

イベント タイプの登録で <wlevs:class> を使用して独自の JavaBean を指定した場合、eventPropertyNames 値は JavaBean のプロパティに対応します。たとえば、JavaBean に getName() メソッドが含まれている場合、JavaBean のプロパティのうち 1 つは name になります。


  ページの先頭       前  次