ページの先頭行へ戻る
Interstage Big DataComplex Event Processing Server V1.1.0 ユーザーズガイド
FUJITSU Software

5.9.4 結合テスト

結合テスト作業の流れは以下の通りです。

  1. テスト用イベントデー送信

  2. フィルタールールの動作確認

  3. 複合イベント処理ルール動作確認

  4. ユーザー開発Webサービスの動作確認

  5. ユーザー開発Javaクラスの動作

  6. イベンログの確認

  7. イベントログ析アプリーションの動作確認

5.9.4.1 テスト用イベントデータの送信

CEPエンジンに対して、テスト用イベントデータを送信します。

配備済みのイベント送信アプリケーション、もしくはサンプルに付属のイベント送信サンプルプログラムを実行します。

イベント送信後、エンジンログを確認して、期待通りに動作しているか確認します。

イベント送信サンプルプログラムの詳細な利用方法については、「5.11.6 イベント送信サンプルプログラム」を参照してください。

テスト用イベントデータの送信

イベントタイプEVENT01のイベントデータとして、CSV形式のテスト用データ /application/test.csv を、CEPエンジン CepEngine に送信する例です。

$ /opt/FJSVcep/sample/sample1/bin/sendevent.sh EVENT01 /application/test.csv<ENTER>

5.9.4.2 フィルタールールの動作確認

高速フィルターのエンジンログに、エラーが通知されていないか確認します。エラーが通知されていた場合は、通知内容を参考に、問題を修正してください。

エラー以外では、ロギング種別を"file"にしたロギング機能を利用している場合、入力イベント(イベントタイプ定義でロギングを有効にしたもの)の内容がエンジンログに記録されることを確認します。

5.9.4.3 複合イベント処理ルールの動作確認

複合イベント処理のエンジンログに、エラーが出力されていないか確認します。エラーが通知されていた場合は、通知内容を参考に、問題を修正してください。

エラー以外では、複合イベント処理ルールの動作確認を、複合イベント処理文に記述したDebugLogListenerアノテーションによって出力されるエンジンログの内容を確認することで行います。

DebugLogListenerアノテーションが記述された複合イベント処理ルールの条件にヒットした場合に、出力イベントのプロパティ値がログに出力されます。

また、ロギング種別を"file"にしたロギング機能を利用している場合、LoggingListenerアノテーションによって出力される内容がエンジンログに記録されることを確認します。

注意

複合イベント処理ルールの動作結果に関する留意点です。

  • ルールの動作結果確認が終了したら、運用環境に配備する前にルール定義を編集して、DebugLogListenerアノテーションをルール定義から削除してください。

  • テスト中にルール定義を修正して置き換える場合は、CEPエンジンを停止させ、ルール定義を再配備してから、再度CEPエンジンの起動を行ってください。

  • CEPエンジンを停止させると、停止前のルールで生成されたウィンドウのデータは消えてしまいます。

DebugLogListenerのログ出力例

DebugLogListenerアノテーションによるエンジンログ出力の例を示します。以下の複合イベント処理文での実行結果になります。

使用する複合イベント処理文

@Name('EPL3')
@DebugLogListener
@LoggingListener(table='/EPL3', properties='areaID, couponID')
@SoapListener('LISTEN01')
select areaID, targetAge, storeID, couponID
from FilteredCouponEvent (storeID='STR0001') where cast(targetAge,int)>20;

DebugLogListenerのログ出力例

2012-07-15 14:21:11,854 [DEBUG] EPL3:length=1     ...1
EPL3[0] ...2
areaID :2222: String ...3
targetAge :30: String
storeID :STR0001: String
couponID :CPN0001: String

[出力例の説明]

  1. select文の条件にヒットしたレコード数を表示します。下線部は、@Nameアノテーションで指定した値が表示されます。

  2. レコードのインデックスを表示します。下線部は、@Nameアノテーションで指定した値が表示されます。

  3. この行以降、出力イベントのプロパティと、プロパティの値、およびプロパティの型を表示します。

参考

その他の出力アダプターによるエンジンログ出力例

その他の出力アダプターが出力するエンジンログからもリスナ呼び出しの成功がわかるため、これもデバッグ用情報として利用可能です。


SOAPリスナのエンジンログ出力例

SoapListenerアノテーションに関連付けられた複合イベント処理文の条件にヒットした場合に、リスナ呼出し成功がログに出力されます。(以下の例では見やすさのため途中で改行を入れていますが、実際には一行で出力されます。)

2012-07-15 14:44:42,556 [DEBUG] id=LISTEN01 destination=http://xxx.xxx.xx.xxx/WebServWAR/MyApp1Service 
methodName=root<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:
Header/><SOAP-ENV:Body><ns:root xmlns:ns="http://webservice/"><ns:areaID>2222</ns:areaID><ns:targetAge>
30</ns:targetAge><ns:storeID>STR0001</ns:storeID><ns:couponID>CPN0001</ns:couponID></ns:root></SOAP-ENV
:Body></SOAP-ENV:Envelope>

[出力例の説明]

  • LISTEN01

    使用したSOAPリスナ定義の開発資産IDです。

  • http://xxx.xxx.xx.xxx/WebServWAR/MyApp1Service

    接続URLです。SOAPリスナ定義の<url>タグに指定した値になります。

  • root

    ルート要素名です。SOAPリスナ定義の<method>タグに指定した値になります。

  • root以降

    送信したSOAPメッセージです。


ロギングリスナのエンジンログ出力例

LoggingListenerアノテーションに関連付けられた複合イベント処理文の条件にヒットした場合に、ロギング成功がエンジンログに出力されます。

2012-07-26 00:05:18,692 [DEBUG] Write Log message"2222","CPN0001" 

ロギング先をエンジンログにした場合(エンジン構成ファイルの<type>にfileを指定した場合)は、複合イベント処理ルールの処理結果も出力されます。

2012-07-26 00:05:18,692 [DEBUG] TableName:/EPL3; eventdata:"2222","CPN0001"
2012-07-26 00:05:18,692 [DEBUG] Write Log message"2222","CPN0001"

5.9.4.4 ユーザー開発Webサービスの動作確認

ユーザー開発Webサービスの設計、開発を行った場合のみ実施します。

ユーザー開発Webサービスが出力するログなどを元に、動作確認を行います。

5.9.4.5 ユーザー開発Javaクラスの動作確認

ユーザー開発Javaクラスの設計、開発を行った場合のみ実施します。ユーザー開発Javaクラスが出力するカスタムログなどを元に、動作確認を行います。カスタムログの出力先は次の通りです。

/var/opt/FJSVcep/cep/cep/logs/EngineLog/CEPエンジン名/custom.log

5.9.4.6 イベントログの確認

Hadoop連携でロギングを行う設定にした場合は、Hadoopシステム内にイベントログが記録されているか確認します。

5.9.4.7 イベントログ分析アプリケーションの動作確認

イベントログ分析アプリケーションの設計、開発を行った場合のみ実施します。

記録されたイベントログを使用して、イベントログ分析アプリケーションの動作確認を行います。