スタート ガイド

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

Oracle CEP のサンプル

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

 


配布キットで提供されるサンプルの概要

Oracle Complex Event Processing (略称 Oracle CEP) には、次の 4 つの完全なサンプルが含まれています。HelloWorld は、一般的な Oracle CEP アプリケーションの基本的な枠組みを示すサンプルです。外国為替取引 (FX) のサンプルには複数のコンポーネントが含まれています。シグナル生成のサンプルは、市場取引とトレンド検出をシミュレートし、記録/再生のサンプルは永続イベント ストアを使用したイベントの記録と再生をコンフィグレーションする方法を示します。

これらのサンプルは次の 2 つの形式で提供されます。

サンプルでは Ant を開発ツールとして使用しています。Ant の詳細とコンピュータへのインストールについては、Apache Ant Project を参照してください。

サンプルのインストール

Oracle CEP を初めてインストールする場合、サンプルをインストールするには、[Custom] オプションを選択する必要があります。[Typical] オプションでは、サンプルは含まれません。

以前に [Typical] オプションを使用して Oracle CEP をインストールしている場合に、サンプルもインストールするには、Oracle CEP インストール プロセスを再実行し、同じ Oracle CEP ホーム ディレクトリを指定します。インストール プロセスの後半のステップで、サンプルのみをインストールできます。

サンプルでの Visualizer の使用

Oracle CEP Visualizer (略称 Visualizer) は、Oracle CEP からのデータを使用し、そのデータを便利で直感的な方法でシステム管理者やオペレータに表示し、さらに特定のタスクにおいてコンフィグレーションの変更を行うために受け入れたデータを再び Oracle CEP に返す Web 2.0 アプリケーションです。

Visualizer 自身は各サーバ インスタンスに自動的にデプロイされる Oracle CEP アプリケーションです。サンプルで Visualizer を使用するには、以下の各サンプルに示されている手順に従ってサーバを起動済みであることを確認し、ブラウザで次の URL を起動します。

   http://host:9002

host は、Oracle CEP をホストするコンピュータ名です。ブラウザを実行しているのと同じコンピュータである場合は、localhost とすることができます。

HelloWorld アプリケーションではセキュリティが無効になるため、ログイン画面でユーザ名とパスワードを入力せずに [Logon] をクリックできます。ただし、FX およびシグナル生成のサンプルでは、セキュリティが有効になるため、以下の情報を使用してログインします。

User Id: wlevs
Password: wlevs

Visualizer の詳細については、「Visualizer の概要」を参照してください。

サンプルのパフォーマンスの向上

サンプルおよび Oracle CEP アプリケーション全般について、実行時のスループットとレイテンシを向上させるには、次の処理をお勧めします。

 


開発環境の設定

Oracle CEP インスタンスを起動してサンプルを実行する前に、開発環境を設定する必要があります。特に、正しいバージョンの JRockit JDK を使用するように PATH および JAVA_HOME 環境変数を設定する必要があります。

JRockit をコンピュータにインストールするときに使用された可能性がある方法として、次の 2 つの方法があります。

必須ではありませんが、最適な結果を得るためには、Oracle JRockit Real Time 3.0 に含まれる JRockit JDK バージョンを使用して Oracle CEP を実行することをお勧めします。以下の手順では、いずれの場合にも適用できる環境の設定方法を説明します。

Windows

  1. JRockit JDK の bin ディレクトリを含むように PATH 環境変数を更新します。また、PATH 環境変数に Ant のインストール先の bin ディレクトリが含まれていることを確認してください。
  2. Oracle JRockit Real Time 3.0 と一緒にインストールされた JRockit JDK を使用する場合

    Oracle JRockit Real Time 3.0 が d:\jrockit ディレクトリにインストールされていて、Ant が d:\ant ディレクトリにインストールされている場合は、PATH 環境変数を次のように設定します。

    prompt> set PATH=d:\jrockit\jrrt-3.0.0-1.6.0\bin;d:\ant\bin;%PATH%

    Oracle CEP 10.3 と一緒にインストールされた JRockit JDK を使用する場合

    Oracle CEP 10.3 が d:\oracle_cep ディレクトリにインストールされていて、Ant が d:\ant ディレクトリにインストールされている場合は、PATH 環境変数を次のように設定します。

    prompt> set PATH=d:\oracle_cep\jrockit-R27.6.0-50-1.6.0_05\bin;d:\ant\bin;%PATH%
  3. サーバ起動スクリプトの JAVA_HOME 変数が正しい JRockit JDK を参照していることを確認します。正しくない場合は、スクリプトを編集します。
  4. サーバ起動スクリプト (startwlevs.cmd) は、メイン ドメイン ディレクトリの defaultserver サブディレクトリにあります。defaultserver サブディレクトリには、各ドメインのスタンドアロン サーバのファイルが含まれます。たとえば、HelloWorld ドメインは、ORACLE_CEP_HOME\ocep_10.3\samples\domains\helloworld_domain にあります。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。

    Oracle JRockit Real Time 3.0 と一緒にインストールされた JRockit JDK を使用する場合、set コマンドを次のように指定します。

    set JAVA_HOME=d:\jrockit\jrrt-3.0.0-1.6.0

    Oracle CEP 10.3 と一緒にインストールされた JRockit JDK を使用する場合、set コマンドを次のように指定します。

    set JAVA_HOME=d:\oracle_cep\jrockit-R27.6.0-50-1.6.0_05
  5. 独自の開発環境の JAVA_HOME 変数を、JRockit JDK を参照するように設定します。
  6. Oracle JRockit Real Time 3.0 と一緒にインストールされた JRockit JDK を使用する場合

    prompt> set JAVA_HOME=d:\jrockit\jrrt-3.0.0-1.6.0

    Oracle CEP 10.3 と一緒にインストールされた JRockit JDK を使用する場合

    prompt> set JAVA_HOME=d:\oracle_cep\jrockit-R27.6.0-50-1.6.0_05

setEnv.cmd などのコマンド ファイルを作成して、これらの set コマンドを指定しておくと、セッションからログアウトした後に開発環境を簡単にリセットできます。

Windows コンピュータで、[コントロール パネル|システム] ウィンドウを呼び出し、[詳細設定] タブ、[環境変数] ボタンの順にクリックして、これらの環境変数を永続的に設定することもできます。環境変数は、現在のユーザに対して、またはシステム全体に対して設定できます。

UNIX

  1. JRockit JDK の bin ディレクトリを含むように PATH 環境変数を更新します。また、PATH 環境変数に Ant のインストール先の bin ディレクトリが含まれていることを確認してください。
  2. Oracle JRockit Real Time 3.0 と一緒にインストールされた JRockit JDK を使用する場合

    Oracle JRockit Real Time が /jrockit ディレクトリにインストールされていて、Ant が /ant ディレクトリにインストールされている場合は、PATH 環境変数を次のように設定します。

    prompt> PATH=/jrockit/jrrt-3.0.0-1.6.0/bin:/ant/bin:$PATH

    Oracle CEP 10.3 と一緒にインストールされた JRockit JDK を使用する場合

    Oracle CEP が /oracle_cep ディレクトリにインストールされていて、Ant が /ant ディレクトリにインストールされている場合は、PATH 環境変数を次のように設定します。

    prompt> PATH=/oracle_cep/jrockit-R27.6.0-50-1.6.0_05/bin:/ant/bin:$PATH
  3. サーバ起動スクリプトの JAVA_HOME 変数が正しい JRockit JDK を参照していることを確認します。正しくない場合は、スクリプトを編集します。
  4. サーバ起動スクリプト (startwlevs.sh) は、メイン ドメイン ディレクトリの defaultserver サブディレクトリにあります。defaultserver サブディレクトリには、各ドメインのスタンドアロン サーバのファイルが含まれます。たとえば、HelloWorld ドメインは、ORACLE_CEP_HOME/ocep_10.3/samples/domains/helloworld_domain にあります。ORACLE_CEP_HOME は、/oracle_cep などの Oracle CEP メイン インストール ディレクトリです。

    Oracle JRockit Real Time 3.0 と一緒にインストールされた JRockit JDK を使用する場合は、JAVA_HOME 変数を次のように設定します。

    JAVA_HOME=/jrockit/jrrt-3.0.0-1.6.0

    Oracle CEP 10.3 と一緒にインストールされた JRockit JDK を使用する場合は、JAVA_HOME 変数を次のように設定します。

    JAVA_HOME=/oracle_cep/jrockit-R27.6.0-50-1.6.0_05
  5. 開発環境の JAVA_HOME 変数を、JRockit JDK を参照するように設定します。
  6. Oracle JRockit Real Time 3.0 と一緒にインストールされた JRockit JDK を使用する場合

    prompt> JAVA_HOME=/jrockit/jrrt-3.0.0-1.6.0

    Oracle CEP 10.3 と一緒にインストールされた JRockit JDK を使用する場合

    prompt> JAVA_HOME=/oracle_cep/jrockit-R27.6.0-50-1.6.0_05

setEnv.sh などのコマンド ファイルを作成して、これらのコマンドを指定しておくと、セッションからログアウトした後に環境を簡単にリセットできます。

 


HelloWorld のサンプル

Oracle CEP アプリケーションの作成方法を示す最初のサンプルは、広く知られている HelloWorld です。次の図は、アプリケーションを構成するコンポーネントと、それらのコンポーネントが連動して HelloWorld イベント処理ネットワークを構成するしくみを示しています。

図 3-1 HelloWorld イベント処理ネットワーク

HelloWorld イベント処理ネットワーク

このサンプルには次のコンポーネントが含まれています。

helloworld ドメインから実行する HelloWorld のサンプル

helloworld ドメインにあらかじめデプロイされている HelloWorld アプリケーションを実行するには、次の手順に従って Oracle CEP のインスタンスを起動するだけです。

  1. コマンド ウィンドウを開き、ORACLE_CEP_HOME\ocep_10.3\samples\domains\helloworld_domain\defaultserver にある helloworld ドメイン ディレクトリのデフォルト サーバ ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  2. prompt> cd d:\oracle_cep\ocep_10.3\samples\domains\helloworld_domain\defaultserver
  3. サーバ起動スクリプトで環境が正しく設定されていることを確認します (「開発環境の設定」を参照)。
  4. startwlevs.cmd (Windows) コマンドまたは startwlevs.sh (UNIX) コマンドを実行して Oracle CEP を起動します。
  5. prompt> startwlevs.cmd

    Oracle JRockit Real Time 3.0 に含まれる JRockit JDK を使用している場合は、コマンドに -dgc パラメータを渡して確定的ガベージ コレクタを有効にします。

    prompt> startwlevs.cmd -dgc

サーバ ステータス メッセージがスクロールされた後、約 1 秒ごとに次のメッセージが出力されます。

    Message: HelloWorld - the current time is: 3:56:57 PM

このメッセージは、HelloWorld のサンプルが正しく実行されていることを示しています。

ソース ディレクトリからビルドおよびデプロイする HelloWorld のサンプル

HelloWorld サンプルのソース ディレクトリには、Java ソースと、HelloWorld アプリケーションを構成する他の必須リソース (コンフィグレーション XML ファイルなど) が含まれます。build.xml Ant ファイルには、アプリケーションをビルドして helloworld ドメインにデプロイするためのターゲットが含まれています。詳細については、「Hello World をビルドする Ant ターゲットの説明」を参照してください。

HelloWorld アプリケーションをビルドおよびデプロイするには、以下の手順を実行します。

  1. helloworld の Oracle CEP インスタンスがまだ実行されていない場合は、「helloworld ドメインから実行する HelloWorld のサンプル」の手順に従ってサーバを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバが実行中である必要があります。
  2. 新しいコマンド ウィンドウを開き、ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\helloworld にある HelloWorld ソース ディレクトリに移動します。
  3. prompt> cd d:\oracle_cep\ocep_10.3\samples\source\applications\helloworld
  4. 開発環境を設定します (「開発環境の設定」を参照)。
  5. all Ant ターゲットを実行してアプリケーションをコンパイルし、JAR ファイルを作成します。
  6. prompt> ant all
  7. deploy Ant ターゲットを実行してアプリケーション JAR ファイルを Oracle CEP にデプロイします。
  8. prompt> ant -Daction=update deploy
    警告 : このターゲットは、ドメイン ディレクトリにある既存の helloworld アプリケーション JAR ファイルを上書きします。

出力先に約 1 秒ごとに次のメッセージが出力されます。

    Message: HelloWorld - the current time is: 3:56:57 PM

このメッセージは、HelloWorld のサンプルが再デプロイされ、正しく実行されていることを示しています。

Hello World をビルドする Ant ターゲットの説明

HelloWorld ソース ディレクトリの最上位レベルにある build.xml ファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。

HelloWorld のサンプルの実装

HelloWorld のサンプルを実装するには、通常、「Oracle CEP アプリケーションの作成 : 一般的な手順」に従います。タスク指向の手順を示して一般的な開発プロセスを説明している節を参照してください。

HelloWorld のサンプルは比較的単純であるため、Oracle CEP アプリケーションを作成するための一般的な手順で説明されているすべてのコンポーネントやコンフィグレーション ファイルを使用するわけではありません。このサンプルで使用するすべてのファイルは、ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\helloworld ディレクトリを基準にして相対的な場所にあります。ORACLE_CEP_HOME は、c:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。実際の環境でも、このサンプルのとおりのディレクトリ設定を使用することをお勧めします。ただし、これは必須条件ではありません。

HelloWorld のサンプルで使用するファイルは次のとおりです。

HelloWorld のサンプルでは、OSGi バンドルのコンパイル、アセンブリ、およびデプロイに build.xml Ant ファイルを使用します。開発環境でも Ant を使用する場合、この build.xml ファイルの詳細については、「ソース ディレクトリからビルドおよびデプロイする HelloWorld のサンプル」を参照してください。

HelloWorld EPN アセンブリ ファイル

EPN アセンブリ ファイルの主な目的の 1 つは、アプリケーションのコンポーネントを宣言してイベント処理ネットワークを定義し、これらすべてのコンポーネントの接続方法、つまりどのコンポーネントが他のどのコンポーネントをリスンするかを定義することです。Oracle CEP には、ネットワークの宣言に使用するカスタム Spring タグのセットが用意されています。また、EPN アセンブリ ファイルは、アプリケーションで使用するイベント タイプとアプリケーションの EPL ルールを登録するためにも使用します。

EPN アセンブリ ファイルを通常の方法で使用して、 Spring アプリケーション コンテキストで アプリケーション コンポーネント Bean を定義します。アプリケーション コンポーネント Bean は、 Java クラスで実装される「アダプタ」や 「ビジネス ロジックを含む POJO」などです。

カスタム Spring タグの詳細なリファレンス情報については、Oracle CEP カスタム Spring タグ リファレンスか、タグを定義している XSD スキーマ ファイルを参照してください。

次のサンプルは、HelloWorld サンプル アプリケーションで使用する EPN アセンブリ ファイルを示しています。太字のエントリの詳細については、サンプルの後にある説明を参照してください。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs.xsd">
<wlevs:event-type-repository>
<wlevs:event-type type-name="HelloWorldEvent">
<wlevs:class>com.bea.wlevs.event.example.helloworld.HelloWorldEvent</wlevs:class>
</wlevs:event-type>
</wlevs:event-type-repository>
    <wlevs:adapter id="helloworldAdapter" class="com.bea.wlevs.adapter.example.helloworld.HelloWorldAdapter" >
<wlevs:instance-property name="message" value="HelloWorld - the currenttime is:"/>
</wlevs:adapter>
    <wlevs:processor id="helloworldProcessor" />
    <wlevs:stream id="helloworldInstream" >
<wlevs:listener ref="helloworldProcessor"/>
<wlevs:source ref="helloworldAdapter"/>
</wlevs:stream>
    <wlevs:stream id="helloworldOutstream" manageable="true">
<wlevs:listener>
<bean class="com.bea.wlevs.example.helloworld.HelloWorldBean"/>
</wlevs:listener>
<wlevs:source ref="helloworldProcessor"/>
</wlevs:stream>
</beans>

上記のサンプルでは、以下のことが行われます。

HelloWorld コンポーネント コンフィグレーション ファイル

HelloWorld アプリケーションのコンポーネント コンフィグレーション ファイルでは、ストリームの 1 つとプロセッサを次のようにコンフィグレーションしています。

<?xml version="1.0" encoding="UTF-8"?>
<n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <processor>
<name>helloworldProcessor</name>
<rules>
<rule id="helloworldRule"><![CDATA[ select * from HelloWorldEvent retain 1 event ]]></rule>
</rules>
</processor>
  <stream>
<name>helloworldOutstream</name>
<max-size>10000</max-size>
<max-threads>2</max-threads>
</stream>
</n1:config>

アプリケーションに複数のプロセッサ、アダプタ、またはストリームがある場合は、それらすべてを 1 つのコンフィグレーション ファイルで宣言することも、コンポーネントごとに個別のコンフィグレーション ファイルを作成することもできます。どちらか管理しやすい方法を選択してください。

コンフィグレーションするコンポーネントごとに <name> 子要素を追加し、参照する特定のコンポーネントを明示的に宣言する必要があります。<name> 要素の値は、EPN アセンブリ ファイルで宣言したコンポーネントのユニークな識別子に対応している必要があります。

たとえば、プロセッサが EPN アセンブリ ファイルで次のように宣言されているとします。

 <wlevs:processor id="helloworldProcessor" ...>

対応する XML コンフィグレーションは次のようになります。

 <processor>
<name>helloworldProcessor</name>
...
</processor>

HelloWorld のサンプルでは、helloworldProcessor という名前の 1 つのプロセッサと、helloworldOutstream という名前の 1 つのストリームに対して、1 つのコンフィグレーション ファイルを使用しています。これらの名前は EPN アセンブリ ファイルでのコンポーネントの宣言に対応しています。

<processor> 要素は、プロセッサ コンポーネントをコンフィグレーションします。プロセッサ コンフィグレーションの重要な部分は、このプロセッサで実行するイベント処理言語 (EPL) のルール セットの宣言です。これらのルールは最終的にアプリケーション ビジネス オブジェクトに渡されるイベント セットを選択します。各ルールは、XML の ![CDATA[...]] セクションを使用して <rule> 要素で宣言されます。すべてのルールは単一の <rules> 要素によってグループ化されます。特定のプロセッサ用に必要な数だけルールを定義できます。

HelloWorld アプリケーションには、ごく単純なルールが 1 つあるだけです。

  select * from HelloWorldEvent retain 1 event

このルールでは、タイプが HelloWorldEvent であるすべてのイベントを選択しますが、ウィンドウには一度に 1 つのイベントのみを保持します。EPL の使用に関する詳細と使用例については、『EPL リファレンス ガイド』を参照してください。

<stream> 要素は、helloworldOutstream コンポーネントをコンフィグレーションします。<max-size> および <max-threads> 要素は、ストリームの最大サイズとストリームに割り当てられたスレッドの最大数をそれぞれ指定します。

 


外国為替取引 (FX) のサンプル

外国為替取引のサンプル (簡単に FX と呼びます) は、複数のデータ フィードから読み込んだ情報を処理するために複数のプロセッサを使用しているので、HelloWorld のサンプルよりも複雑です。FX のサンプルでは、Oracle CEP load generator ユーティリティを使用してデータ フィードをシミュレートします。次の図に FX イベント処理ネットワークを示します。

図 3-2 FX イベント処理ネットワーク

FX イベント処理ネットワーク

シナリオでは、load generator を使用してシミュレートした 3 つのデータ フィードにより、世界各地から定数の値のペアが送信されます。値のペアは通貨を組み合わせたもので、たとえば USDEUR は米ドルと欧州ユーロの組み合わせを表します。値のペアと共に 2 つの通貨間の為替レートも送信されます。fxMarketXXX アダプタはフィードからデータを受信し、受信したデータをイベントに変換して preprocessorXXX プロセッサに渡します。各プロセッサは、初期期限切れチェックを実行し、発生からの経過時間が 10 秒を超えているイベントがないことを確認します。さらに境界チェックを実行し、2 つの通貨間の為替レートが現在の境界の範囲内にあることを確認します。サーバは、特定のストリームから特定の通貨のペアのみを選択します。たとえば、シミュレートされた米国のデータ フィードからは USDEUR を選択し、USDAUD (オーストラリア ドル) などの他のすべてのペアを拒否します。

各データ フィード プロバイダからのデータがこの初期準備フェーズを通過すると、spreader という別のプロセッサが、すべてのプロバイダのすべてのイベントを結合し、最大レートと最小レートの中間点を計算して、トレーダが指定したスプレッドを適用します。最後に、プロセッサはビジネス コードを含む POJO にレートを転送します。このサンプルでは、POJO は単純にレートをクライアントにパブリッシュします。

Oracle CEP モニタは、直前のステップのイベント レイテンシが特定のしきい値を超えていないか (たとえば、30 秒という時間内に更新されたレートがないか)、また同じ通貨のペアで 2 つの連続的なレート間の偏差が大きすぎないかを監視するようにコンフィグレーションされています。最後に、通貨の各ペアの直前のレートがダッシュボードに転送されます。

外国為替取引のサンプルの実行

最適なデモンストレーションの目的のためには、複数の CPU または 3GHz のデュアルコア Intel と 2GB 以上の RAM を搭載した強力なコンピュータでこのサンプルを実行することをお勧めします。

fx_domain ドメインにあらかじめデプロイされている外国為替取引 (FX) アプリケーションを実行するには、次の手順に従って Oracle CEP のインスタンスを起動するだけです。

  1. コマンド ウィンドウを開き、ORACLE_CEP_HOME\ocep_10.3\samples\domains\fx_domain\defaultserver にある fx ドメイン ディレクトリのデフォルトのサーバ ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  2. prompt> cd d:\oracle_cep\ocep_10.3\samples\domains\fx_domain\defaultserver
  3. 開発環境の設定」の説明に従って、開発環境を設定します。
  4. startwlevs.cmd (Windows) コマンドまたは startwlevs.sh (UNIX) コマンドを実行して Oracle CEP を起動します。
  5. prompt> startwlevs.cmd

    Oracle JRockit Real Time 3.0 に含まれる JRockit JDK を使用している場合は、コマンドに -dgc パラメータを渡して確定的ガベージ コレクタを有効にします。

    prompt> startwlevs.cmd -dgc

    これで、FX アプリケーションでデータ フィードからデータを受信する準備ができました。

  6. 米国のデータ フィードをシミュレートするには、新しいコマンド ウィンドウを開き、「開発環境の設定」の説明に従って環境を設定します。
  7. ORACLE_CEP_HOME\ocep_10.3\utils\load-generator ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  8. fxAmer.prop プロパティ ファイルを使用して load generator を実行します。
  9. prompt> runloadgen.cmd fxAmer.prop
  10. fxAsia.prop プロパティ ファイルを使用して手順 4 ~ 6 を繰り返し、アジアのデータ フィードをシミュレートします。
  11. prompt> runloadgen.cmd fxAsia.prop
  12. fxEuro.prop プロパティ ファイルを使用して手順 4 ~ 6 を繰り返し、ヨーロッパのデータ フィードをシミュレートします。
  13. prompt> runloadgen.cmd fxEuro.prop

サーバを起動したコマンド ウィンドウでサーバ ステータス メッセージがスクロールされ、3 つの load generator が起動した後、サーバ コマンド ウィンドウに次のようなメッセージが出力されます。

{crossRate=USDJPY, internalPrice=119.09934499999781}, {crossRate=USDGBP, internalPrice=0.5031949999999915}, {crossRate=USDJPY, internalPrice=117.73945624999783}

これらのメッセージは、外国為替取引のサンプルが正しく実行されていることを示しています。出力では、米ドル対日本円および米ドル対英国ポンドのクロス レートが示されています。

ソース ディレクトリからビルドおよびデプロイする外国為替取引のサンプル

外国為替取引 (FX) サンプルのソース ディレクトリには、Java ソースと、FX アプリケーションを構成する他の必須リソース (コンフィグレーション XML ファイルなど) が含まれます。build.xml Ant ファイルには、アプリケーションをビルドして fx_domain ドメインにデプロイするためのターゲットが含まれています (「FX をビルドする Ant ターゲットの説明」を参照)。

FX アプリケーションをビルドおよびデプロイするには、以下の手順を実行します。

  1. fx の Oracle CEP インスタンスがまだ実行されていない場合は、「外国為替取引のサンプルの実行」の手順に従ってサーバを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバが実行中である必要があります。
  2. 新しいコマンド ウィンドウを開き、ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\fx にある FX ソース ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  3. prompt> cd d:\oracle_cep\ocep_10.3\samples\source\applications\fx
  4. 開発環境の設定」の説明に従って、開発環境を設定します。
  5. all Ant ターゲットを実行してアプリケーションをコンパイルし、JAR ファイルを作成します。
  6. prompt> ant all
  7. deploy Ant ターゲットを実行してアプリケーション JAR ファイルを Oracle CEP にデプロイします。
  8. prompt> ant -Dusername=wlevs -Dpassword=wlevs -Daction=update deploy
    警告 : このターゲットは、ドメイン ディレクトリにある既存の helloworld アプリケーション JAR ファイルを上書きします。
  9. FX アプリケーションで必要な load generator が実行されていない場合は、「外国為替取引のサンプルの実行」の説明に従って起動します。

サーバ ステータス メッセージがスクロールされた後、ほぼ毎秒次のメッセージが出力されます。

    {crossRate=USDJPY, internalPrice=119.09934499999781}, {crossRate=USDGBP, internalPrice=0.5031949999999915}, {crossRate=USDJPY, internalPrice=117.73945624999783}

このメッセージは、FX のサンプルが再デプロイされ、正しく実行されていることを示しています。

FX をビルドする Ant ターゲットの説明

FX ソースの最上位レベル ディレクトリにある build.xml ファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。

FX のサンプルの実装

外国為替取引 (FX) のサンプルを実装するには、通常、「Oracle CEP アプリケーションの作成 : 一般的な手順」に従います。一般的な開発プロセスを説明している手順の節を参照してください。

FX のサンプルで使用するすべてのファイルは、ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\fx ディレクトリを基準にして相対的な場所にあります。ORACLE_CEP_HOME は、c:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。実際の環境でも、このサンプルのとおりのディレクトリ設定を使用することをお勧めします。ただし、これは必須条件ではありません。

FX のサンプルで使用するファイルは次のとおりです。

FX のサンプルでは、OSGi バンドルのコンパイル、アセンブル、およびデプロイに build.xml Ant ファイルを使用します。開発環境でも Ant を使用する場合、この build.xml ファイルの詳細については、「ソース ディレクトリからビルドおよびデプロイする外国為替取引のサンプル」を参照してください。

FX EPN アセンブリ ファイル

次のサンプルは、FX サンプル アプリケーションで使用する EPN アセンブリ ファイルを示しています。太字のエントリの詳細については、サンプルの後にある説明を参照してください。

注意 : EPN アセンブリ ファイルの概要については、「HelloWorld EPN アセンブリ ファイル」の先頭にある説明を参照してください。カスタム Spring タグの詳細なリファレンス情報については、Oracle CEP カスタム Spring タグ リファレンスか、タグを定義している XSD スキーマ ファイルを参照してください。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs.xsd">
    <wlevs:event-type-repository>
<wlevs:event-type type-name="ForeignExchangeEvent">
<wlevs:class>com.bea.wlevs.example.fx.OutputBean$ForeignExchangeEvent</wlevs:class>
<wlevs:property name="builderFactory">
<bean id="builderFactory" class="com.bea.wlevs.example.fx.ForeignExchangeBuilderFactory"/>
</wlevs:property>
</wlevs:event-type>
</wlevs:event-type-repository>
    <!-- Assemble EPN (event processing network) -->
    <wlevs:adapter id="fxMarketAmer" provider="loadgen">
<wlevs:instance-property name="port" value="9011"/>
</wlevs:adapter>
    <wlevs:adapter id="fxMarketAsia" provider="loadgen">
<wlevs:instance-property name="port" value="9012"/>
</wlevs:adapter>
    <wlevs:adapter id="fxMarketEuro" provider="loadgen">
<wlevs:instance-property name="port" value="9013"/>
</wlevs:adapter>
    <wlevs:processor id="preprocessorAmer" listeners="spreaderIn"/>
<wlevs:processor id="preprocessorAsia" listeners="spreaderIn"/>
<wlevs:processor id="preprocessorEuro" listeners="spreaderIn"/>
    <wlevs:stream id="fxMarketAmerOut">
<wlevs:listener ref="preprocessorAmer"/>
<wlevs:source ref="fxMarketAmer"/>
</wlevs:stream>
    <wlevs:stream id="fxMarketAsiaOut">
<wlevs:listener ref="preprocessorAsia"/>
<wlevs:source ref="fxMarketAsia"/>
</wlevs:stream>
    <wlevs:stream id="fxMarketEuroOut">
<wlevs:listener ref="preprocessorEuro"/>
<wlevs:source ref="fxMarketEuro"/>
</wlevs:stream>
    <wlevs:stream id="spreaderOut" manageable="true">
<wlevs:listener>
<!-- Create business object -->
<bean id="outputBean"
class="com.bea.wlevs.example.fx.OutputBean"
autowire="byName"/>
</wlevs:listener>
</wlevs:stream>
    <!-- The processor id needs to be well known so that it can import the rules config -->
    <wlevs:processor id="spreader">
<wlevs:listener ref="spreaderOut"/>
</wlevs:processor>
    <wlevs:stream id="spreaderIn">
<wlevs:listener ref="spreader"/>
</wlevs:stream>
</beans>

上記のサンプルでは、以下のことが行われます。

FX プロセッサ コンフィグレーション ファイル

FX アプリケーションは 4 つのプロセッサを使用します。3 つのプロセッサで 3 つのデータ フィードを処理し、1 つのプロセッサで結果イベントを結合します。最初の 3 つのプロセッサは、preprocessor.xml という名前の 1 つの XML ファイルで次のようにコンフィグレーションされます。

<?xml version="1.0" encoding="UTF-8"?>
<n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<processor>
<name>preprocessorAmer</name>
<rules>
<rule id="UsdToEurRule"><![CDATA[
      insert into ForeignExchangeEvent
select avg(lastPrice) as price, 'USD' as fromRate, 'EUR' as toRate
from (select * from StockTick where symbol='USDEUR') retain 1 sec
where lastPrice < 3.0 and lastPrice > 0.25
      ]]></rule>
</rules>
</processor>
  <processor>
<name>preprocessorAsia</name>
<rules>
<rule id="EurToJpyRule"><![CDATA[
      insert into ForeignExchangeEvent
select avg(lastPrice) as price, 'EUR' as fromRate, 'JPY' as toRate
from (select * from StockTick where symbol='EURJPY') retain 1 sec
where lastPrice < 200.0 and lastPrice > 100.0
      ]]></rule>
</rules>
</processor>
  <processor>
<name>preprocessorEuro</name>
<rules>
<rule id="EurToGbpRule"><![CDATA[
      insert into ForeignExchangeEvent
select avg(lastPrice) as price, 'EUR' as fromRate, 'GBP' as toRate
from (select * from StockTick where symbol='EURGBP') retain 1 sec
where lastPrice < 1.5 and lastPrice > 0.5
      ]]></rule>
</rules>
</processor>
</n1:config>

このファイル内の 3 つのプロセッサは、すべて本質的には同じであり、データ フィードに対して異なる項目を照会するため、また異なる境界条件を適用するために EPL クエリで使用される値だけが異なります。このため、この節では、プロセッサの 1 つである preprocessorAmer のみについて説明します。

米国のデータ フィードで起動される EPL ルールは次のとおりです。

      insert into ForeignExchangeEvent
select avg(lastPrice) as price, 'USD' as fromRate, 'EUR' as toRate
from (select * from StockTick where symbol='USDEUR') retain 1 sec
where lastPrice < 3.0 and lastPrice > 0.25

このクエリを理解するには、次のように、さまざまな句を確認する必要があります。

spreader プロセッサは、spreader.xml ファイルを使用して次のようにコンフィグレーションされています。

<?xml version="1.0" encoding="UTF-8"?>
<n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<processor>
<name>spreader</name>
<rules>
<rule id="spreaderRule"><![CDATA[
      select ((a.price * b.price) + 0.05) as internalPrice, a.fromRate || b.toRate as crossRate
from ForeignExchangeEvent a, ForeignExchangeEvent b
retain 10 sec with unique a.toRate partition by a.fromRate
where a.toRate = b.fromRate and a.fromRate != b.toRate
      ]]></rule>
</rules>
</processor>
</n1:config>

spreader EPL ルールでは、以下のことが行われます。

このクエリの結果は、ビジネス オブジェクト POJO に送信されます。

EPL の使用に関する詳細と使用例については、『EPL リファレンス ガイド』を参照してください。

 


シグナル生成のサンプル

シグナル生成のサンプル アプリケーションは、シミュレートされたマーケット データを受信し、証券の価格変動が 2% を超えたかどうかを検証します。このアプリケーションは、特定の銘柄の連続的な株価を追跡することにより、トレンドの発生も検出します。変動が 2% を上回る価格が連続 3 回を超えた場合に、トレンドと見なします。

このアプリケーションでは、Oracle CEP load generator ユーティリティを使用してマーケット データ フィードをシミュレートします。このサンプルでは、load generator は毎秒最大 10,000 個のメッセージを生成します。サンプルには、照合したイベントとレイテンシを表示する HTML ダッシュボードが含まれています。イベントは、銘柄記号、タイムスタンプ、および価格で構成されます。

このサンプルは、スループットが高い状況でレイテンシ ジッタが最小限である非常に低いレイテンシを示します。アプリケーションの実行が開始されると、プロセッサは毎秒平均 800 個のメッセージを照合します。最小限のコンフィグレーションをしたシステムでアプリケーションを実行した場合、このサンプルは非常に低い平均レイテンシ (平均 30 ~ 300 マイクロ秒) と最小レイテンシ スパイク (低いミリ秒数) を示します。

サンプルでは、load generator で生成されたタイムスタンプと Oracle CEP のタイムスタンプ間の差分に基づいてレイテンシ値を計算し、表示しています。有効なレイテンシを計算するには、load generator を実行するコンピュータと Oracle CEP を実行するコンピュータの間で、1 ミリ秒のような非常に厳密なクロック同期が必要です。このため、load generator と Oracle CEP の両方を 1 台のマルチ CPU コンピュータで実行し、共通のクロックを共有することをお勧めします。

サンプルでは、Oracle CEP イベント キャッシング機能の使用方法も示されています。具体的には、EPN の単一のプロセッサからイベント Bean とキャッシュの両方にイベントが送信されます。

さらに、パラメータ化された EPL クエリの使用方法も示されています。つまり、プロセッサ コンフィグレーション ファイル内にコンフィグレーションするルールでは、? 文字をプレースホルダとして使用し、実行時にクエリに特定のパラメータ値を渡します。

シグナル生成のサンプルの実行

最適なデモンストレーションの目的のためには、複数の CPU または 3GHz のデュアルコア Intel と 2GB 以上の RAM を搭載した強力なコンピュータでこのサンプルを実行することをお勧めします。

signalgeneration_domain ドメインには、単一のアプリケーションであるシグナル生成サンプル アプリケーションが含まれています。シグナル生成アプリケーションを実行するには、次の手順に従って、ドメインの Oracle CEP インスタンスを起動するだけです。

  1. コマンド ウィンドウを開き、ORACLE_CEP_HOME\ocep_10.3\samples\domains\signalgeneration_domain\defaultserver にある signalgeneration_domain ドメイン ディレクトリのデフォルト サーバ ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  2. prompt> cd d:\oracle_cep\ocep_10.3\samples\domains\signalgeneration_domain\defaultserver
  3. 開発環境の設定」の説明に従って、開発環境を設定します。
  4. startwlevs.cmd (Windows) コマンドまたは startwlevs.sh (UNIX) コマンドを実行して Oracle CEP を起動します。
  5. prompt> startwlevs.cmd

    Oracle JRockit Real Time 3.0 に含まれる JRockit JDK を使用している場合は、コマンドに -dgc パラメータを渡して確定的ガベージ コレクタを有効にします。

    prompt> startwlevs.cmd -dgc

    これで、シグナル生成アプリケーションでデータ フィードからデータを受信する準備ができました。

    Windows では [スタート] メニューを使用してサーバを起動することもできます。

    [スタート|すべてのプログラム|Oracle Complex Event Processing 10gR3|Examples|Start Signal Generation Example Server]
  6. データ フィードをシミュレートするには、このサンプル専用にプログラミングされた load generator を使用して、以下の手順を実行します。
    1. 新しいコマンド ウィンドウを開きます。
    2. ORACLE_CEP_HOME\ocep_10.3\samples\domains\signalgeneration_domain\defaultserver\utils ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
    3. startDataFeed コマンドを実行します。
    4. prompt> startDataFeed.cmd

      Windows では [スタート] メニューを使用して load generator を起動することもできます。

      [スタート|すべてのプログラム|Oracle Complex Event Processing 10gR3|Examples|Start Load Generator]
  7. ブラウザを起動し、次の HTML ページを開いて、サンプルのダッシュボードを起動します。
  8.    http://host:9002/algo/dashboard.html

    host は、Oracle CEP を実行しているコンピュータの名前に置き換えます。ブラウザと同じコンピュータである場合は、localhost とすることができます。

    Windows では [スタート] メニューを使用してダッシュボードを起動することもできます。

    [スタート|すべてのプログラム|Oracle Complex Event Processing 10gR3|Examples|Start Signal Generation Console]
  9. ブラウザで HTML ページの [Start] ボタンをクリックします。このサンプルにコンフィグレーションされた EPL ルールに一致するイベントが表示され始めます。

ソース ディレクトリからビルドおよびデプロイするシグナル生成のサンプル

シグナル生成サンプルのソース ディレクトリには、Java ソースと、シグナル生成アプリケーションを構成する他の必須のリソース (コンフィグレーション XML ファイル、EPN アセンブリ ファイル、DOJO クライアント JavaScript ライブラリなど) が含まれます。build.xml Ant ファイルには、アプリケーションをビルドして signalgeneration_domain ドメインにデプロイするためのターゲットが含まれています (「シグナル生成をビルドする Ant ターゲットの説明」を参照)。

シグナル生成アプリケーションをビルドおよびデプロイするには、以下の手順を実行します。

  1. シグナル生成の Oracle CEP インスタンスがまだ実行されていない場合は、「シグナル生成のサンプルの実行」の手順に従ってサーバを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバが実行中である必要があります。
  2. 新しいコマンド ウィンドウを開き、ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\signalgeneration にあるシグナル生成ソース ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  3. prompt> cd d:\oracle_cep\ocep_10.3\samples\source\applications\signalgeneration
  4. 開発環境の設定」の説明に従って、開発環境を設定します。
  5. all Ant ターゲットを実行してアプリケーションをコンパイルし、JAR ファイルを作成します。
  6. prompt> ant all
  7. deploy Ant ターゲットを実行してアプリケーション JAR ファイルを ORACLE_CEP_HOME\ocep_10.3\samples\domains\signalgeneration_domain\defaultserver\applications\signalgeneration ディレクトリにデプロイします。
  8. prompt> ant deploy
    警告 : このターゲットは、ドメイン ディレクトリにある既存のシグナル生成アプリケーション JAR ファイルを上書きします。
  9. シグナル生成アプリケーションで必要な load generator が実行されていない場合は、「シグナル生成のサンプルの実行」の説明に従って起動します。
  10. シグナル生成のサンプルの実行」の説明に従って、サンプルのダッシュボードを起動します。

シグナル生成をビルドする Ant ターゲットの説明

FX ソースの最上位レベル ディレクトリにある build.xml ファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。

 


イベントの記録と再生のサンプル

記録と再生のサンプルは、1 つのコンポーネントをコンフィグレーションしてイベントをイベント ストアに記録し、ネットワークの別のコンポーネントをコンフィグレーションしてストアにあるイベントを再生する方法を示します。サンプルは、Oracle CEP で提供されるデータベース サーバである Apache Derby を使用してイベントを格納します。サンプルでは、イベント処理ネットワークのノードとしてパブリッシュ用 HTTP pub-sub アダプタをコンフィグレーションする方法も示します。

次の図に、サンプルのイベント処理ネットワークを示します。

図 3-3 EPN での記録と再生のコンフィグレーション

EPN での記録と再生のコンフィグレーション

このアプリケーションのイベント処理ネットワークには次の 4 つのコンポーネントが含まれています。

イベントの記録/再生のサンプルの実行

recplay_domain ドメインには、記録と再生のサンプル アプリケーションという単一のアプリケーションが含まれています。このアプリケーションを実行するには、以下の手順に示すように、最初にドメインの Oracle CEP インスタンスを起動します。

その後の手順では、Visualizer を使用して simpleEventSource および eventStream コンポーネントでイベントの記録と再生をそれぞれ開始する方法を示しています。手順の最後では、Visualizer を使用して、playbackHttpPublisher アダプタによってチャネルにパブリッシュされるイベントのストリームを表示する方法を示しています。

  1. コマンド ウィンドウを開き、ORACLE_CEP_HOME\ocep_10.3\samples\domains\recplay_domain\defaultserver にある recplay_domain ドメイン ディレクトリのデフォルト サーバ ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  2. prompt> cd d:\oracle_cep\ocep_10.3\samples\domains\recplay_domain\defaultserver
  3. 開発環境の設定」の説明に従って、開発環境を設定します。
  4. startwlevs.cmd (Windows) コマンドまたは startwlevs.sh (UNIX) コマンドを実行して Oracle CEP を起動します。
  5. prompt> startwlevs.cmd

    Oracle JRockit Real Time 3.0 に含まれる JRockit JDK を使用している場合は、コマンドに -dgc パラメータを渡して確定的ガベージ コレクタを有効にします。

    prompt> startwlevs.cmd -dgc

    サーバ ステータス メッセージがスクロールされた後、出力先に次のメッセージが出力されます。

        SimpleEvent created at: 14:33:40.441

    このメッセージは、Oracle CEP サーバが正しく起動され、simpleEventSource コンポーネントがイベントを作成していることを示しています。

  6. ブラウザで、次の URL を使用して Visualizer を起動します。
  7. http://host:9002/wlevs

    host は、Oracle CEP サーバをホストするコンピュータです。ブラウザを実行しているのと同じコンピュータである場合は、localhost とすることができます。

    ユーザ名 wlevs とパスワード wlevs を使用して Visualizer にログインします。

  8. 左ペインで、[WLEventServerDomain|NonClusteredServer|Applications|recplay|Stages|simpleEventSource] をクリックします。
  9. 右ペインで、[Record] タブをクリックします。
  10. タブの下部にある [Start Recording] ボタンをクリックします。[Current Status] フィールドで [Recording...] ステータスが点滅します。
  11. ボタンをクリックするとすぐに、イベントが simpleEventSource コンポーネントから離れ始め、コンフィグレーションされたデータベースに格納されます。[Start Recording] および [Stop Recording] フィールドを使用して、イベントをいつ記録するかをさらにコンフィグレーションできます。

  12. 左ペインで、eventStream コンポーネントをクリックします ([WLEventServerDomain|NonClusteredServer|Applications|recplay|Stages|eventStream])。
  13. 右ペインで、[Playback] タブをクリックします。
  14. タブの下部にある [Start Recording] ボタンをクリックします。[Current Status] フィールドで [Playing...] ステータスが点滅します。
  15. ボタンをクリックするとすぐに、simpleEventSource コンポーネントで記録されたイベントが simpleStream コンポーネントで再生されます。Oracle CEP サーバを起動したコマンド ウィンドウに次のメッセージが出力され、元のイベントと再生イベントの両方が EPN を介してストリーミングされていることを示します。

    SimpleEvent created at: 14:33:11.501
    Played back: Original time=14:15:23.141 Playback time=14:33:11.657

    再生されるイベントが記録された期間や再生速度などの再生パラメータをさらにコンフィグレーションできます。そのためには、適切なフィールドを更新し、[Change Parameters] ボタンをクリックします。再生パラメータを変更した後、再生を再開する必要があります。

  16. playbackHttpPublisher アダプタがチャネルにパブリッシュしているイベントを表示するには、以下の手順を実行します。
    1. 上ペインで、[Viewstream] ボタンをクリックします。
    2. 右ペインで、[Initialize Client] をクリックします。
    3. [Subscribe Channel] テキスト ボックスに /playbackchannel と入力します。
    4. [Subscribe] をクリックします。
    5. [Received Messages] テキスト ボックスに、再生されたイベントの詳細が表示されます。再生されたイベントは、イベントの作成時刻と再生時刻を示します。

ソース ディレクトリからビルドおよびデプロイするイベントの記録/再生のサンプル

記録と再生のサンプルのソース ディレクトリには、Java ソースと、アプリケーションを構成する他の必須リソース (コンフィグレーション XML ファイル、EPN アセンブリ ファイルなど) が含まれます。build.xml Ant ファイルには、アプリケーションをビルドして signalgeneration_domain ドメインにデプロイするためのターゲットが含まれています (「記録と再生をビルドする Ant ターゲットの説明」を参照)。

記録と再生アプリケーションをビルドおよびデプロイするには、以下の手順を実行します。

  1. 記録/再生の Oracle CEP インスタンスがまだ実行されていない場合は、「記録/再生のサンプルの実行」の手順に従ってサーバを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバが実行中である必要があります。
  2. 新しいコマンド ウィンドウを開き、ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\recplay にある記録/再生ソース ディレクトリに移動します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  3. prompt> cd d:\oracle_cep\ocep_10.3\samples\source\applications\recplay
  4. 開発環境の設定」の説明に従って、開発環境を設定します。
  5. all Ant ターゲットを実行してアプリケーションをコンパイルし、JAR ファイルを作成します。
  6. prompt> ant all
  7. deploy Ant ターゲットを実行してアプリケーション JAR ファイルを ORACLE_CEP_HOME\ocep_10.3\samples\domains\recplay_domain\defaultserver\applications\recplay ディレクトリにデプロイします。
  8. prompt> ant -Dusername=wlevs -Dpassword=wlevs -Daction=update deploy
    警告 : このターゲットは、ドメイン ディレクトリにある既存の記録再生アプリケーション JAR ファイルを上書きします。

    アプリケーション再デプロイ メッセージの後、約 1 秒ごとに次のメッセージが出力先に出力されます。

        SimpleEvent created at: 14:33:40.441

    このメッセージは、記録と再生のサンプルが再デプロイされ、正しく実行されていることを示します。

  9. イベントの記録/再生のサンプルの実行」の手順 (手順 4 以降) に従って Visualizer を起動し、イベントの記録と再生を開始します。

記録と再生をビルドする Ant ターゲットの説明

記録/再生のソースの最上位レベル ディレクトリにある build.xml ファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。

記録と再生のサンプルの実装

記録と再生のサンプルを実装するには、通常、「Oracle CEP アプリケーションの作成 : 一般的な手順」に従います。タスク指向の手順を示して一般的な開発プロセスを説明している節を参照してください。

このサンプルで使用するすべてのファイルは、ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\recplay ディレクトリを基準にして相対的な場所にあります。ORACLE_CEP_HOME は、c:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。実際の環境でも、このサンプルのとおりのディレクトリ設定を使用することをお勧めします。ただし、これは必須条件ではありません。

記録と再生のサンプルで使用するファイルは次のとおりです。

記録/再生のサンプルでは、OSGi バンドルのコンパイル、アセンブル、およびデプロイに build.xml Ant ファイルを使用します。開発環境でも Ant を使用する場合、この build.xml ファイルの詳細については、「ソース ディレクトリからビルドおよびデプロイするイベントの記録/再生のサンプル」を参照してください。


  ページの先頭       前  次