イベントの記録と再生の機能を使用して、実行中のOracle Event Processingアプリケーションをデバッグできます。アプリケーションの実行中に、EPNコンポーネントから永続ストアにフローするイベントを記録します。後のステージで、イベントBeanなどのアプリケーションでイベントを再生します。イベントBeanでイベントを問い合せ、その結果に基づいてアプリケーションを修正します。
この章のサンプル・コードは、/Oracle/Middleware/my_oep/
examples/source/applications/recplay
にあるイベントの記録と再生のサンプルからとったものです。サンプルの実行と作成の詳細は、『Oracle Event Processingスタート・ガイド』のイベント記録/再生サンプルの実行に関する項を参照してください。
この章の内容は次のとおりです。
次の図は、イベントの記録と再生の例のEPNを示し、どこでイベントを記録でき、どこでイベントを再生できるかを示しています。simpleEventSource
アダプタは、イベントを記録するように構成されています。記録は、アダプタからのイベント・フローとして実行されます。eventStream
チャネルは、イベントを再生するように構成されています。再生は、チャネルへのイベント・フローとして実行されます。
Berkeley DBは、産業レベルの信頼性や可用性のある、高速でスケーラブルなトランザクション・データベースです。
イベントを記録するとき、デフォルトでOracle Event ProcessingサーバーはBerkeley DBにイベントを格納します。これは、Oracle Event Processingサーバーにバンドルされている永続的なイベント・ストアです。Berkeley DBの詳細は、次を参照してください。
http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html
。
記録と再生の機能を使用するように構成されているアプリケーションをデプロイする場合、Oracle Event ProcessingサーバーはBerkeley DBのデータベース・スキーマとインスタンスを次のディレクトリに作成します。
/Oracle/Middleware/my_oep/
/user_projects/domains/
domainname
/
servername
/bdb
注:
データベース・キーは、レコード時間およびシーケンス番号です。
デフォルトBerkeleyデータベース構成はそのままで使用できます。Berkeleyデータベース・インスタンスの位置をカスタマイズしたり、またはパフォーマンスをチューニングする場合のみ、構成を変更する必要があります。Berkeley DBの構成方法の詳細は、Berkeley DBの構成を参照してください。
イベント・ストアAPIを使用して、記録時間の範囲とイベント記録元のコンポーネントを指定することで、ストア内の過去のイベントに対する問合せを実行できます。実際に使用する問合せはイベント・リポジトリ・プロバイダによって異なります。たとえば、Oracle Event Processingに付属のデフォルト永続イベント・ストア・プロバイダではOracle CQLを使用します。これらのAPIを使用してイベント・ストアの古いイベントを削除することもできます。
プロセッサ、アダプタ、チャネル、イベントBeanなど、イベントを生成するEPNの任意のコンポーネントの記録を構成できます。プロセッサとチャネルは常にイベントを生成します。
アダプタとイベントBeanは、EventSource
インタフェースを実装する必要があります。
EPNの異なるコンポーネントからのイベントを異なる永続ストアに格納したり、すべてのイベントを同じストアに格納したりするよう構成できます。コンポーネントによって出力されるイベントのみが記録されます。
コンポーネントのイベントの記録を有効にするには、構成ファイルを更新し、record-parameters
要素を追加します。record-parameters
の子要素を使用して、イベントの記録先となるイベント・ストア、記録が行われる最初の期間、格納するイベント・タイプのリストなどを指定します。
アプリケーションのデプロイが完了し、イベントがネットワーク内で循環を開始すると、特定の開始時間を構成した場合は記録が自動的に開始され、または管理ツールを使用して記録が動的に開始されます。記録が構成された各コンポーネントについて、Oracle Event Processingではコンポーネントを離れたイベントが、記録時のタイムスタンプとともに適切なストアに格納されます。
プロセッサ、アダプタ、ストリーム、イベントBeanなど、EPNの任意のコンポーネントの再生を構成できます。一般に、再生コンポーネントはネットワーク内でイベントを記録するステージよりも後のステージです。
コンポーネントのイベントの再生を有効にするには、構成ファイルを更新し、playback-parameters
要素を追加します。playback-parameters
の子要素を使用して、イベントを再生するイベント・ストア、再生するイベント・タイプのリスト(デフォルトではすべて再生)、再生する記録されたイベントの期間などを指定します。デフォルトでは、Oracle Event Processingでは正確な速度でイベントが再生されます。ただし、イベントが記録元のコンポーネントを離れたときの元の速度よりも速いまたは遅い速度で再生されるように構成できます。
アプリケーションのデプロイが完了し、イベントがネットワーク内で循環を開始すると、Oracle Event Processing Visualizerまたはwlevs.Admin
を使用して再生を開始する必要があります。Oracle Event Processingでは永続ストアからイベントが読み込まれ、EPNの適切な場所に挿入されます。
コンポーネントが再生イベントを取得した場合は、元のイベントとまったく同じように見えます。イベントを記録するようにダウンストリーム・コンポーネントが構成されている場合、Oracle Event Processingでは着信した再生イベントとリアルタイム・イベントが記録されます。
詳細は、次を参照してください。
『Oracle Event Processingビジュアライザの使用』のイベントの再生に関する項
『Oracle Event Processingの管理』の再生の制御に関する項。
デフォルトBerkeley DB構成はそのままで使用できます。Berkeleyデータベース・インスタンスの位置をカスタマイズしたり、キャッシュ・サイズを設定してパフォーマンスをチューニングする場合のみ、構成を変更する必要があります。
Oracle Event Processingサーバーのイベント・ストアを構成する手順:
アプリケーションの任意のプロセッサ、アダプタ、チャネル、またはイベントBeanでイベントの記録を構成できます。
この項では、イベントを記録するアダプタ構成を更新します。詳細は、『Oracle Event Processing スキーマ・リファレンス』のコンポーネント構成に関する項を参照してください。
表15-2は指定できるrecord-parameters
の子要素の一覧を示します。dataset-name
のみ必須です。
表15-2 record-parametersの子要素
|
アプリケーションの任意のプロセッサ、アダプタ、チャネル、またはイベントBeanでイベントの再生を構成できます。再生コンポーネントがイベントを受け取って再生できるように、コンポーネントは記録コンポーネントよりダウンストリームにある必要があります。
この項では、イベントを再生するチャネル構成を更新します。
詳細は、『Oracle Event Processing スキーマ・リファレンス』のコンポーネント構成に関する項を参照してください。
表15-3は指定できるplayback-parameters
の子要素の一覧を示します。dataset-name
のみ必須です。
表15-3 playback-parametersの子要素
|
アプリケーションのコンポーネントで記録および再生機能の構成が完了し、Oracle Event Processingにアプリケーションをデプロイすると、構成ファイルで開始および終了の情報を明示的に構成している場合にのみ、サーバーでイベントの記録が開始されます。
たとえば、コンポーネント構成に次の要素が含まれている場合、2010年1月20日午前5時に記録が開始されます。
<time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range>
イベントの記録と再生を有効にするには、Oracle Event Processing Visualizerまたはwlevs.Admin
を使用します。有効にした記録と再生は、構成設定に応じて開始および終了されます。
詳細は、次を参照してください。
『Oracle Event Processingビジュアライザの使用』のイベントの記録および再生に関する項
『Oracle Event Processingの管理』の再生の開始に関する項
『Oracle Event Processingの管理』の再生の停止に関する項
Visualizerおよびwlevs.Admin
では、管理対象Bean (MBean)を使用して、イベントの記録と再生を動的に開始および終了し、イベント・ストアの構成を管理します。管理対象BeanはJava Management Extensions (JMX)インタフェースを提供するJava Beanです。JMXはネットワーク上のリソースをモニターおよび管理するためのJava EEソリューションです。com.bea.wlevs.management.configuration.StageMBean
を使用することにより、独自の管理ツールを作成し、JMXを使用してイベント・ストア機能を管理できます。
詳細は、次を参照してください。
Oracle Event Processing Java APIリファレンス