ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Event Processing開発者ガイド
11gリリース1 (11.1.1.7) for Eclipse
B61654-06
  目次へ移動
目次

前
 
次
 

21 ロード・ジェネレータおよびcsvgenアダプタを使用したアプリケーションのテスト

この章では、Oracle Event Processingアプリケーションをテストするために、付属のロード・ジェネレータおよびcsvgenアダプタを使用する方法について説明します。

この章の内容は次のとおりです。

21.1 ロード・ジェネレータおよびcsvgenアダプタを使用したアプリケーションのテストの概要

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

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

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

アプリケーションを再デプロイした場合は、ロード・ジェネレータも再起動する必要があります。

テストおよびデバッグの詳細は、6.4項「Oracle Event Processingサーバー上で実行されているOracle Event Processingアプリケーションのデバッグ」を参照してください

21.2 ロード・ジェネレータ・ユーティリティの構成と実行

このプロシージャでは、ロード・ジェネレータ・ユーティリティの構成方法と実行方法について説明します。

ロード・ジェネレータ・ユーティリティを構成および実行するには:

  1. 必要に応じて、load generatorの特定の実行用の構成プロパティが含まれたプロパティ・ファイルを作成します。これらのプロパティでは、シミュレート・データが含まれたファイルの場所、ジェネレータがデータを供給するポートなどが指定されます。

    Oracle Event Processingにはデフォルトのプロパティ値が適切である場合に使用できる、デフォルトのプロパティ・ファイルが用意されています。

    21.3項「ロード・ジェネレータのプロパティ・ファイルの作成」を参照してください。

  2. 実際のデータ・フィード値が含まれたファイルを作成します。

    21.4項「データ・フィード・ファイルの作成」を参照してください。

  3. ロード・ジェネレータで生成されたデータ・フィードが正常に読み込まれるようにcsvgenアダプタを構成します。Oracle Event Processingアプリケーションを記述したEPNアセンブリ・ファイルでアダプタを構成します。

    21.5項「アプリケーションのcsvgenアダプタの構成」を参照してください。

  4. イベント・タイプを作成するためのビルダー・ファクトリを必ず構成します。イベント・タイプのビルダー・ファクトリを指定するタスクは通常はオプションですが、load generatorを使用する場合には必須です。

    詳細は、9.3.1.5項「イベント・タイプ・ビルダー・クラスによるイベント・タイプ・インストールの制御」を参照してください。

  5. コマンド・ウィンドウを開き、3.2項「開発環境の設定」の説明に従って、環境を設定します。

  6. ORACLE_CEP_HOME\ocep_11.1\utils\load-generatorディレクトリに移動します。ORACLE_CEP_HOMEは、d:\oracle_cep.などのOracle Event Processingのメイン・インストール・ディレクトリです。

  7. ステップ1で作成したプロパティ・ファイルを指定してロード・ジェネレータを実行し、シミュレートされたデータ・フィードを開始します。たとえば、プロパティ・ファイル名がc:\loadgen\myDataFeed.propの場合は、次のコマンドを実行します。

    prompt> runloadgen.cmd c:\loadgen\myDataFeed.prop
    

21.3 ロード・ジェネレータのプロパティ・ファイルの作成

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

Oracle Event Processingには、ORACLE_CEP_HOME\ocep_11.1\utils\load-generatorディレクトリにcsvgen.propというデフォルトのプロパティ・ファイルがあります。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle Event Processingのメイン・インストール・ディレクトリです。

ファイルの形式は単純で、プロパティと値の各ペアが各行に置かれます。次の例は、デフォルトの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.packetTypetest.modetest.senderstest.latencyStatsおよびtest.statIntervalの各プロパティを厳密に前述のとおりに含める必要があります。


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

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

表21-1 ロード・ジェネレータのプロパティ

プロパティ 説明 データ型 必須?

test.csvDataFile

データ・フィード値が含まれたファイルを指定します。

String

はい

test.port

load generatorがデータ・フィードを送信するポート番号。

それぞれの入力アダプタは、21.5項「アプリケーションのcsvgenアダプタの構成」に示すとおり、そのtest.portに関連付けられます。

Integer

はい

test.secs

load generatorの秒単位の実行時間。

デフォルト値は30です。

Integer

いいえ

test.rate

最終データ速度(毎秒のメッセージ数単位)。

デフォルト値は1です。

Integer

いいえ

test.startRate

初期データ速度(毎秒のメッセージ数単位)。

デフォルト値は1です。

Integer

いいえ

test.rampUpSecs

test.startRateからtest.rateに増加するまでの秒数。

デフォルト値は0です。

Integer

いいえ


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

ロード・ジェネレータ・データ・フィード・ファイルは、Oracle Event Processingアプリケーションに登録されたイベント・タイプに対応するサンプルのデータ・フィード値を含みます。

例21-1EmployeeEventを示し、例21-2はこのイベント・タイプに対応するロード・ジェネレータのデータ・フィード・ファイルを示します。

例21-1 EmployeeEventのイベント・タイプ

<wlevs:event-type-repository>
        <wlevs:event-type type-name="EmployeeEvent">
            <wlevs:properties>
                <wlevs:property name="name" type="char" />
                <wlevs:property name="age" type="int" />
                <wlevs:property name="birthplace" type="char" length="512" />
        </wlevs:properties>
    </wlevs:event-type>
...
</wlevs:event-type-repository>

例21-2 EmployeeEventイベント・タイプのデータ・フィード・ファイル

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

ロード・ジェネレータのデータ・フィード・ファイルの形式は簡単です。


注意:

ロード・ジェネレータはCSV仕様に完全には準拠していません(http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm)。


詳細は、9.2.3.1項「csvgenアダプタとともに使用するイベント・タイプの制約」を参照してください。

21.5 アプリケーションのcsvgenアダプタの構成

ロード・ジェネレータ・ユーティリティを使用する場合、Oracle Event Processingで提供されるcsvgenアダプタは、ロード・ジェネレータで生成されたデータ・パケットを読み込むように特別にコーディングされているため、アプリケーションではこのアダプタを使用する必要があります。

すべてのアダプタと同じように、アプリケーションのEPNアセンブリ・ファイルのwlevs:adapter要素を使用して、csvgenアダプタを登録します。独自のアダプタのかわりにcsvgenアダプタをプロバイダとして指定するために、provide属性をcsvgenに設定します。また、次の子タグを指定する必要があります。

アダプタの構成する方法を説明する前に、まず次に示すwlevs:metada要素を使用して、アプリケーションがEPNアセンブリ・ファイルに、PersonTypeと呼ばれるイベント・タイプを登録していると仮定します。

<wlevs:event-type-repository>
        <wlevs:event-type type-name="PersonType">
            <wlevs:properties>
               <wlevs:property name="name" type="char"/>
               <<wlevs:property name="age" type="int"/>
               <<wlevs:property name="birthplace" type="char"/>
            </wlevs:properties>
        </wlevs:event-type>
</wlevs:event-type-repository>

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

このデータを受信する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になります。

イベント・タイプの詳細は、第9章「イベント・タイプの定義および使用」を参照してください。