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

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

永続ストアを使用したイベントの記録と再生

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

 


永続ストアを使用したイベントの記録と再生の概要

Oracle CEP イベント リポジトリ機能を使用すると、イベント処理ネットワーク (EPN) コンポーネントを離れたイベントをデータベース テーブルなどのストアに永続化し、後からそれらを再生したり、イベント Bean などのコンポーネントからイベントに対するクエリを明示的に実行したりすることができます。

この機能の一般的な使用例には、現在実行中のアプリケーションの問題をデバッグする機能があります。問題発生時に EPN のノードでイベントを記録していた場合は、後から同じイベント リストを再生し、デバッグ目的のために問題のシナリオを再現できます。

次の図は、イベントの記録と再生のサンプルの EPN を示し、イベントがどの時点で記録され、どの場所で再生されるかを示しています。simpleEventSource アダプタではイベントの記録がコンフィグレーションされています。イベントがアダプタを離れた時点で記録が行われます。eventStream ストリームではイベントの再生がコンフィグレーションされています。イベントがストリームに到着した時点で再生が行われます。

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

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

イベント ストア

Oracle CEP では RDBMS ベースのイベント ストアの実装が提供されます。この実装により、データはリレーショナル データベースに格納されます。Oracle CEP に付属のデータベース サーバ (Apache Derby)、または Oracle DBMS などの他のデータベース サーバを使用できます。

Oracle CEP に付属するデフォルトのデータベース サーバ Apache Derby を使用してイベントを記録できます。Apache Derby は完全に Java で実装されたオープン ソースのリレーショナル データベースです。デフォルトでは、DOMAIN_DIR/servername などの Oracle CEP を開始したディレクトリからデータベース ファイルおよびログ ファイル (derby.log) が作成されます。このデフォルトの場所は、システム プロパティ derby.system.home を異なるディレクトリに設定することで変更できます。

カスタム イベント ストア プロバイダを作成して RDBMS 以外の永続ストアにイベントを格納することもできます。詳細については、「カスタム イベント ストア プロバイダの作成」を参照してください。

イベントの記録

プロセッサ、アダプタ、ストリーム、イベント Bean など、イベント処理ネットワーク (EPN) でイベントを生成する任意のコンポーネントの記録をコンフィグレーションできます。プロセッサおよびストリームでは常にイベントが生成されます。アダプタおよびイベント Bean では EventSource インタフェースを実装する必要があります。また、EPN の異なるコンポーネントからのイベントを異なる永続ストアに格納したり、すべてのイベントを同じストアに格納したりするようコンフィグレーションできます。コンポーネントによって出力されるイベントのみが記録されることに注意してください。

コンポーネントのイベントの記録を有効にするには、コンフィグレーション ファイルを更新し、<record-parameters> 要素を追加します。<record-parameters> の子要素を使用して、イベントの記録先となるイベント ストア、記録が行われる最初の期間、格納するイベント タイプのリストなどを指定します。

アプリケーションのデプロイが完了し、イベントがネットワーク内で循環を開始すると、特定の開始時間をコンフィグレーションした場合は記録が自動的に開始され、または管理ツールを使用して記録が動的に開始されます。記録がコンフィグレーションされた各コンポーネントについて、Oracle CEP ではコンポーネントを離れたイベントが、記録時のタイムスタンプと共に適切なストアに格納されます。

イベントの再生

プロセッサ、アダプタ、ストリーム、イベント Bean など、イベント処理ネットワーク (EPN) の任意のコンポーネントの再生をコンフィグレーションできます。一般に、再生コンポーネントはネットワーク内でイベントを記録するノードよりも後のノードです。

コンポーネントのイベントの再生を有効にするには、コンフィグレーション ファイルを更新し、<playback-parameters> 要素を追加します。<playback-parameters> の子要素を使用して、イベントを再生するイベント ストア、再生する必要のあるイベント タイプのリスト (デフォルトはすべて再生)、記録されたイベントの再生時間などを指定します。デフォルトでは、Oracle CEP では正確な速度でイベントが再生されますが、イベントが記録元のコンポーネントを離れたときの元の速度よりも速いまたは遅い速度でイベントを再生するようコンフィグレーションすることもできます。

アプリケーションのデプロイが完了し、イベントがネットワーク内で循環を開始すると、管理ツール (Visualizer または wlevs.Admin) を使用して再生を開始する必要があります。Oracle CEP では適切な永続ストアからイベントが読み込まれ、EPN の適切な場所に挿入されます。

コンポーネントが再生イベントを取得した場合は、元のイベントとまったく同じように見えることに注意してください。また、ネットワークの後ろのコンポーネントでイベントの記録がコンフィグレーションされている場合、Oracle CEP では再生イベントが「実際の」イベントと共に記録されます。

格納されたイベントへのクエリ

イベント ストア API を使用して、記録時間の範囲とイベント記録元のコンポーネントを指定することで、ストア内の過去のイベントに対するクエリを実行できます。実際に使用するクエリはイベント リポジトリ プロバイダによって異なります。たとえば、Oracle CEP に付属の RDBMS プロバイダでは EPL を使用します。これらの API を使用してイベント ストアの古いイベントを削除することもできます。

記録可能なイベント タイプの制限

このリリースでは、Oracle RDBMS ベースのプロバイダを使用する場合、イベント ストアに記録可能なイベント タイプには以下の制限が適用されます。

記録と再生のサンプル

この節のサンプル コードは、ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\recplay ディレクトリにある recplay サンプルからの抜粋です。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。

サンプルの実行およびビルドの詳細については、「イベントの記録と再生のサンプル」を参照してください。

 


アプリケーションでのイベントの記録と再生の実装 : 一般的な手順

以下の手順で説明しているとおり、イベント リポジトリを使用する方法に応じて異なるタスクを実行する必要があります。追加の詳細を示す節を参照してください。

注意 : この節では、Oracle CEP アプリケーションがコンポーネント コンフィグレーション ファイルを使用してすでに作成済みであり、コンポーネントでイベントを記録または再生するようにアプリケーションを更新する必要があると想定しています。まだ作成していない場合は、詳細について「Oracle Complex Event Processing アプリケーションの作成の概要」を参照してください。
  1. Oracle CEP サーバ インスタンスのイベント ストアをコンフィグレーションします。このコンフィグレーション手順は、Oracle CEP に付属のイベント ストア プロバイダ Apache Derby の使用を計画している場合でも実行する必要があります。
  2. Oracle CEP サーバのイベント ストアのコンフィグレーション」を参照してください。

  3. コンポーネントのコンフィグレーション ファイルを更新することで、イベントを記録する EPN のコンポーネントをコンフィグレーションします。使用可能なコンポーネントは、プロセッサ、アダプタ、ストリーム、またはイベント Bean です。コンポーネントを離れるイベントのみが記録されます。
  4. イベントを格納するコンポーネントのコンフィグレーション」を参照してください。

  5. コンポーネントのコンフィグレーション ファイルを更新することで、イベントを再生する EPN のコンポーネントをコンフィグレーションします。使用可能なコンポーネントは、プロセッサ、アダプタ、ストリーム、またはイベント Bean です。イベントを再生できるのは、イベント シンクでもあるコンポーネントのみです。イベントはコンポーネントの入力側に再生されます。
  6. イベントを再生するコンポーネントのコンフィグレーション」を参照してください。

  7. 変更を反映するためアプリケーションを再デプロイします。
  8. イベントの記録の明示的な開始および終了時間を指定していない場合は、Visualizer または wlevs.Admin を使用して記録を開始する必要があります。常にこれらの管理ツールを使用して、イベントの再生を開始または終了する必要があります。
  9. イベントの記録と再生の開始および終了」を参照してください。

Oracle CEP サーバのイベント ストアのコンフィグレーション

Oracle CEP では記録されたイベントがデータベースに格納されるため、独自のアプリケーションで記録および再生機能を使用する前に、データベース サーバの場所と、記録されたイベントが含まれるデータベース サーバの名前を指定する必要があります。これを行うには、後述のように、Oracle CEP サーバ インスタンスの config.xml ファイルを更新します。

ただし、記録されたイベントを格納する実際のテーブルは作成しません。記録と再生の機能を使用するアプリケーションをデプロイすると、Oracle CEP によって自動的にテーブルが作成され、記録が行われます。Oracle CEP によるこれらのテーブルの作成については、「RDMBS プロバイダで作成されたデータベース テーブルの説明」を参照してください。

デフォルトの Apache Derby を含め、Oracle CEP でイベント ストアをコンフィグレーションするには、以下の手順を実行します。

  1. 実行中であれば、Oracle CEP サーバ インスタンスを停止します。
  2. 任意の XML エディタを使用して、サーバの config.xml ファイルを編集用に開きます。config.xml ファイルはサーバの DOMAIN_DIR/servername/config ディレクトリにあります。DOMAIN_DIR/oracle_cep/user_projects/domains/myDomain などのドメイン ディレクトリを指し、servernamedefaultserver などのサーバ名を指します。
  3. config.xml ファイルに <data-source> 要素を追加して、リレーショナル データベースへのアクセスをコンフィグレーションします。詳細については、「リレーショナル データベースへのアクセスのコンフィグレーション」を参照してください。
  4. デフォルトの Apache Derby データベースを使用する場合は、以下の <data-source> 要素を追加します。

    <?xml version="1.0" encoding="UTF-8"?>
    <n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/server"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <domain> 
    <name>myDomain</name>
    </domain>
    ...
    <data-source>
    <name>derby1</name>
    <connection-pool-params>
    <initial-capacity>15</initial-capacity>
    <max-capacity>50</max-capacity>
    </connection-pool-params>
    <driver-params>
    <url>jdbc:derby:dbtest1;create=true</url>
    <driver-name>org.apache.derby.jdbc.EmbeddedDriver</driver-name>
    </driver-params>
    </data-source>
    </n1:config>

    当然ながら、データ ソースには任意の名前を使用できます。また、異なる接続プール パラメータおよびデータベース名を指定できます (上記の例では、データベース dbtest1 に接続し、データベースが存在しない場合は作成するように指定しています)。<driver-name> は、上記の例と同一にする必要がある唯一の要素であり、値を org.apache.derby.jdbc.EmbeddedDriver にする必要があります。<transaction-manager> 要素を追加する必要がありますが、任意の名前を使用できます。

  5. config.xml ファイルに <transaction-manager> 要素を追加します。
  6. <data-source>
    ...
    </data-source>
    <transaction-manager>
    <name>myTransactionManager</name>
    </transaction-manager>
  7. config.xml ファイルに、前にコンフィグレーションされたデータ ソースを参照する <rdbms-event-store-provider> 要素を追加します。たとえば、前の手順でコンフィグレーションされた Apache Derby データベースを使用するには、以下の XML コードを追加します。
  8. <data-source>
    <name>derby1</name>
    ...
    </data-source>
    <rdbms-event-store-provider>
    <name>my-rdbms-provider</name>
    <data-source-name>derby1</data-source-name>
    </rdbms-event-store-provider>

    後から、イベントを記録および再生するコンポーネントをコンフィグレーションするときに、このイベント ストア名を指定します。

これで Oracle CEP にイベント ストアがコンフィグレーションされ、アプリケーションの特定のコンポーネントでイベントの記録と再生をコンフィグレーションできます。

イベントを格納するコンポーネントのコンフィグレーション

アプリケーションの任意のプロセッサ、アダプタ、ストリーム、またはイベント Bean でイベントの記録をコンフィグレーションできます。すべての他のコンポーネントのコンフィグレーションと同様、コンフィグレーション ファイルを更新してコンポーネントでのイベントの記録を指定します。これらのコンフィグレーション ファイルの概要については、「コンポーネント コンフィグレーション ファイル」を参照してください。

この節では、イベントを記録するコンポーネントをコンフィグレーションするための主な手順について説明します。簡略化のため、この手順ではイベントを記録するアダプタをコンフィグレーションし、コンポーネント コンフィグレーション ファイルがすでに作成されていることを想定しています。

イベント記録のコンフィグレーション ファイルの要素を記述する完全な XSD スキーマについては、コンポーネント コンフィグレーション ファイルの XSD スキーマ リファレンスを参照してください。

任意の XML エディタを使用してコンポーネント コンフィグレーション XML ファイルを開き、イベントの記録をコンフィグレーションするコンポーネントに <record-parameters> 子要素を追加します。たとえば、アダプタ simpleEventSource をコンフィグレーションする場合は、以下のようになります。

  <?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">
    <adapter>
<name>simpleEventSource</name>
<record-parameters>
...
</record-parameters>
...
</adapter>
    ...
  </n1:config>

<record-parameters> に子要素を追加して、イベント ストア プロバイダの名前、格納されるイベント、記録の開始および終了時間などを指定します。例を示します。

  <adapter>
<name>simpleEventSource</name>
<record-parameters>
<dataset-name>recplay_sample</dataset-name>
<event-type-list>
<event-type>SimpleEvent</event-type>
</event-type-list>
<provider-name>my-rdbms-provider</provider-name>
<batch-size>1</batch-size>
<batch-time-out>10</batch-time-out>
</record-parameters>
</adapter>

次の表は、<record-parameters> に指定できる子要素を示しています。必須要素は <dataset-name> のみですが、<provider-name> でイベント ストア プロバイダの名前についても明示的に指定することをお勧めします。

表 9-1 <record-parameters> の子要素
子要素
説明
<dataset-name>
グループにまとめる必要のあるデータのグループを指定します。
Oracle RDBMS ベースのプロバイダの場合は、記録されたイベントを格納するテーブルが作成されるデータベース領域またはスキーマを指定します。
Oracle RDBMS ベースのプロバイダをコンフィグレーションする場合は、この要素を指定する必要があります。
<provider-name>
イベント ストア プロバイダの名前を指定します。
この要素の値は、Oracle CEP サーバ インスタンスの config.xml ファイルの <rdbms-event-store-provider> 要素の <name> 子要素の値に対応します。
Oracle RDBMS ベースのプロバイダをコンフィグレーションする場合は、この要素を指定する必要があります。
<event-type-list>
イベント ストアに記録されるイベント タイプを指定します。この要素を指定しない場合、Oracle CEP ではコンポーネントを離れるすべてのイベント タイプが記録されます。
<event-type> 子要素を使用して、以下のようにすべてのイベントをリストします。
<event-type-list>
<event-type>EventOne</event-type>
<event-type>EventTwo</event-type>
</event-type-list>
Oracle RDBMS ベースのプロバイダをコンフィグレーションする場合は、この要素を指定する必要があります。
<time-range>
開始および終了時間を使用して、記録が行われる期間を指定します。
期間のコンフィグレーションでは <start> 子要素を使用して開始時間を指定し、<end> 子要素を使用して終了時間を指定します。開始および終了の時間形式は両方とも MM-dd-yyyy:HH:mm:ss であり、10-20-2007:11:22:07 のようになります。たとえば、2009 年 4 月 7 日午前 6 時に記録を開始し、2009 年 4 月 10 日午後 10 時に終了するように指定するには、以下のように入力します。
<time-range-offset>
<start>04-07-2009:06:00:00</start>
<end>04-10-2009:22:00:00</end>
</time-range-offset>
期間を指定しない場合はアプリケーションをデプロイしてもイベントは記録されず、Visualizer または wlevs.Admin を使用して明示的に開始するまで記録は行われません。
<time-range> または <time-range-offset> を指定できますが、両方は指定できません。
<time-range-offset>
開始時間と期間を使用して、記録が行われる期間を指定します。
期間のコンフィグレーションでは <start> 子要素を使用して開始時間を指定し、<duration> 子要素を使用して記録開始後に記録が停止するまでの時間を指定します。開始の時間形式は MM-dd-yyyy:HH:mm:ss であり、10-20-2007:11:22:07 のようになります。期間の形式は HH:mm:ss であり、01:00:00 のようになります。たとえば、2009 年 4 月 7 日午前 6 時に記録を開始し、3 時間続行するように指定するには、以下のように入力します。
<time-range-offset>
<start>04-07-2009:06:00:00</start>
<duration>03:00:00</duration>
</time-range-offset>
期間を指定しない場合はアプリケーションをデプロイしてもイベントは記録されず、Visualizer または wlevs.Admin を使用して明示的に開始するまで記録は行われません。
<time-range> または <time-range-offset> を指定できますが、両方は指定できません。
<batch-size>
イベント バッファからイベント ストアに書き込むために Oracle CEP によって単一のバッチで選択されるイベント数を指定します。
デフォルト値は 1000 です。
<batch-time-out>
イベント ストアに書き込む前に、イベント バッファ枠が <batch-size> のイベント数で一杯になるまで Oracle CEP が待機する秒数を指定します。
デフォルト値は 60 です。
<max-size>
指定した場合、Oracle CEP ではイベント ストアへの書き込みにストリームが使用され、この要素はストリーム サイズを指定します。0 以外の値は非同期の書き込みを示します。
デフォルト値は 1024 です。
<max-threads>
指定した場合、Oracle CEP ではイベント ストアへの書き込みにストリームが使用され、この要素は、このストリームのイベントの処理に使用されるスレッドの最大数を指定します。<max-size> が 0 の場合はこの値を設定しても効果はありません。
デフォルト値は 1 です。
<store-policy-paramters>
イベント ストア プロバイダに固有のポリシー パラメータを指定します。<name> および <value> 子要素を使用して、以下のように特定のパラメータを指定します。
<store-policy-parameters>
<name>supportsTransactions</name>
<value>true</value>
</store-policy-parameters>

イベントを再生するコンポーネントのコンフィグレーション

アプリケーションの任意のプロセッサ、アダプタ、ストリーム、またはイベント Bean でイベントの再生をコンフィグレーションできます。ただし、実際にイベントを受信し、それらのイベントを再生できるように、再生コンポーネントは記録コンポーネントの下流ノードである必要があります。すべての他のコンポーネントのコンフィグレーションと同様、コンフィグレーション ファイルを更新してコンポーネントでのイベントの再生を指定します。これらのコンフィグレーション ファイルの概要については、「コンポーネント コンフィグレーション ファイル」を参照してください。

この節では、イベントを再生するコンポーネントをコンフィグレーションするための主な手順について説明します。簡略化のため、この手順ではイベントの記録元である EPN の上流ノードからのイベントを再生するストリームをコンフィグレーションし、ストリームのコンフィグレーション ファイルがすでに作成されていることを想定しています。

イベント再生のコンフィグレーション ファイルの要素を記述する完全な XSD スキーマについては、コンポーネント コンフィグレーション ファイルの XSD スキーマ リファレンスを参照してください。

任意の XML エディタを使用してコンポーネント コンフィグレーション XML ファイルを開き、イベントの再生をコンフィグレーションするコンポーネントに <playback-parameters> 子要素を追加します。たとえば、ストリーム eventStream をコンフィグレーションする場合は、以下のようになります。

  <?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">
    <stream>
<name>eventStream</name>
<playback-parameters>
...
</playback-parameters>
</stream>
    ...
  </n1:config>

<playback-parameters> に子要素を追加して、イベント ストア プロバイダの名前、再生されるイベントなどを指定します。例を示します。

    <stream>
<name>eventStream</name>
<playback-parameters>
<dataset-name>recplay_sample</dataset-name>
<event-type-list>
<event-type>SimpleEvent</event-type>
</event-type-list>
<provider-name>test-rdbms-provider</provider-name>
</playback-parameters>
</stream>

次の表は、<playback-parameters> に指定できる子要素を示しています。必須要素は <dataset-name> のみですが、<provider-name> でイベント ストア プロバイダの名前についても明示的に指定することをお勧めします。

表 9-2 <playback-parameters> の子要素
子要素
説明
<dataset-name>
グループにまとめる必要のあるデータのグループを指定します。
Oracle RDBMS ベースのプロバイダの場合は、記録されたイベントが格納され、再生イベントのクエリが実行されるテーブルのデータベース領域またはスキーマを指定します。
Oracle RDBMS ベースのプロバイダをコンフィグレーションする場合は、この要素を指定する必要があります。
<provider-name>
イベント ストア プロバイダの名前を指定します。
この要素の値は、Oracle CEP サーバ インスタンスの config.xml ファイルの <rdbms-event-store-provider> 要素の <name> 子要素の値に対応します。
Oracle RDBMS ベースのプロバイダをコンフィグレーションする場合は、この要素を指定する必要があります。
<event-type-list>
イベント ストアから再生されるイベント タイプを指定します。この要素を指定しない場合、Oracle CEP ではすべてのイベント タイプが再生されます。
<event-type> 子要素を使用して、以下のようにすべてのイベントをリストします。
<event-type-list>
<event-type>EventOne</event-type>
<event-type>EventTwo</event-type>
</event-type-list>
Oracle RDBMS ベースのプロバイダをコンフィグレーションする場合は、この要素を指定する必要があります。
<time-range>
再生されるイベントが記録された期間を指定します。つまり、この要素は指定の期間内に記録されたイベントのみを再生するフィルタとして機能します。この要素は再生自体が行われる期間を指定するものではありません。
期間のコンフィグレーションでは <start> 子要素を使用して開始時間を指定し、<end> 子要素を使用して終了時間を指定します。開始および終了の時間形式は両方とも MM-dd-yyyy:HH:mm:ss であり、10-20-2007:11:22:07 のようになります。たとえば、2009 年 4 月 7 日午前 6 時に記録を開始し、2009 年 4 月 10 日午後 10 時に記録を終了したイベントを再生するように指定するには、以下のように入力します。
<time-range-offset>
<start>04-07-2009:06:00:00</start>
<end>04-10-2009:22:00:00</end>
</time-range-offset>
期間を指定しない場合は、すべてのイベントが再生されます。
<time-range> または <time-range-offset> を指定できますが、両方は指定できません。
<time-range-offset>
再生されるイベントが記録された期間を指定します。つまり、この要素は指定の期間内に記録されたイベントのみを再生するフィルタとして機能します。この要素は再生自体が行われる期間を指定するものではありません。
期間のコンフィグレーションでは <start> 子要素を使用して開始時間を指定し、<duration> 子要素を使用して記録開始後の時間を指定します。開始の時間形式は MM-dd-yyyy:HH:mm:ss であり、10-20-2007:11:22:07 のようになります。期間の形式は HH:mm:ss であり、01:00:00 のようになります。たとえば、2009 年 4 月 7 日午前 6 時に記録を開始し、3 時間続行したイベントを再生するように指定するには、以下のように入力します。
<time-range-offset>
<start>04-07-2009:06:00:00</start>
<duration>03:00:00</duration>
</time-range-offset>
期間を指定しない場合は、すべてのイベントが再生されます。
<playback-speed>
再生速度を正の float として指定します。
デフォルト値は 1 であり、通常の速度に相当します。値 2 はイベントが元の記録速度の倍の速度で再生されることを意味します。同様に、値 0.5 はイベントが半分の速度で再生されることを意味します。
<repeat>
指定された期間の再生が終了した後に、イベントをもう一度再生するかどうかを指定します。
有効な値は true および false です。デフォルト値は false です。値 true は再生が意図的に停止されるまで無限に繰り返されることを意味します。False の場合はイベントが 1 度のみ再生されます。
<max-size>
指定した場合、Oracle CEP ではイベント ストアからのイベントの再生にストリームが使用され、この要素はストリーム サイズを指定します。0 以外の値は非同期の書き込みを示します。
デフォルト値は 1024 です。
<max-threads>
指定した場合、Oracle CEP ではイベント ストアからのイベントの再生にストリームが使用され、この要素は、このストリームのイベントの処理に使用されるスレッドの最大数を指定します。<max-size> が 0 の場合はこの値を設定しても効果はありません。
デフォルト値は 1 です。
<store-policy-paramters>
イベント ストア プロバイダに固有のポリシー パラメータを指定します。<name> および <value> 子要素を使用して、以下のように特定のパラメータを指定します。
<store-policy-parameters>
<name>supportsTransactions</name>
<value>true</value>
</store-policy-parameters>

イベントの記録と再生の開始および終了

アプリケーションのコンポーネントで記録および再生機能のコンフィグレーションが完了し、Oracle CEP にアプリケーションをデプロイしたら、最初のコンフィグレーションで開始および終了時間を明示的に指定した場合にのみサーバでイベントの記録が開始されます。

たとえば、コンポーネント コンフィグレーションに以下の要素が含まれているとします。

  <time-range-offset>
<start>04-07-2009:06:00:00</start>
<end>04-10-2009:22:00:00</end>
</time-range-offset>

この場合、2009 年 4 月 7 日に記録が自動的に開始されます。

ただし、イベントの再生を開始するには Visualizer または wlevs.Admin を使用するのが唯一の方法です。これらの管理ツールは、イベントの記録を動的に開始または終了する際にも使用します。詳細については、以下を参照してください。

Visualizer および wlevs.Admin では、管理対象 Bean (MBean) を使用して、イベントの記録と再生を動的に開始および終了し、イベント ストアのコンフィグレーションを管理します。管理対象 Bean は Java Management Extensions (JMX) インタフェースを提供する Java Bean です。JMX はネットワーク上のリソースをモニタおよび管理するための Java EE ソリューションです。com.bea.wlevs.management.configuration.StageMBean を使用することにより、独自の管理ツールを作成し、JMX を使用してイベント ストア機能を管理できます。

RDMBS プロバイダで作成されたデータベース テーブルの説明

コンポーネントでイベントの記録を有効にすると、Oracle CEP では、まだ存在していない場合に、実際のデータが格納されるデータベース テーブルが自動的に作成されます。サーバはイベント ストア プロバイダにコンフィグレーションされたデータ ソースを使用してデータベースに接続します。

Oracle CEP によるこれらのテーブルの作成および管理を許可することをお勧めしますが、より詳細な制御が必要な場合は独自のテーブルを作成できます。

以下のガイドラインでは、Oracle CEP でデータベース テーブルが作成されるしくみについて説明し、独自のテーブルを作成する場合の要件を示します。データベース オブジェクトのデフォルト名 (schema、table、column) が予約語である場合、Oracle CEP では予約語以外の語を提供するためサフィックスが追加されます。

次の表に、イベント タイプの各フィールドでサポートされている Java の型の一覧を示します。

表 9-3 サポートされている Java の型
Java の型
対応する Java SQL の型
boolean, java.lang.Boolean
java.sql.Types.BIT
byte, java.lang.Byte
java.sql.Types.TINYINT
short, java.lang,Short
java.sql.Types.SMALLINT
int, java.lang.Integer
java.sql.Types.INTEGER
long, java.lang.Long
java.sql.Types.BIGINT
float, java.lang.Float
java.sql.Types.REAL
double, java.lang.Double
java.sql.Types.DOUBLE
java.lang.String
java.sql.Types.VARCHAR
java.math.BigDecimal
java.sql.Types.BIGINT
java.sql.Date, java.util.Date
java.sql.Types.TIMESTAMP
java.sql.Time
java.sql.Types.TIME
java.sql.Timestamp
java.sql.Types.TIMESTAMP

 


カスタム イベント ストア プロバイダの作成

Oracle CEP には、カスタム イベント ストア プロバイダの作成に使用できるイベント ストア API が用意されています。Oracle CEP ではリレーショナル データベースにイベントを格納するための RDBMS ベースの実装、または JDBC 接続をサポートする実装が提供されます。異なる種類のデータベースにイベントを格納する必要がある場合や、何らかの理由で Oracle RDBMS プロバイダがニーズに合致しない場合は、イベント ストア API を使用して独自のイベント ストア プロバイダを作成できます。

イベント ストア API は com.bea.wlevs.eventstore パッケージに含まれており、以下は最も重要なインタフェースの説明です。


  ページの先頭       前  次