![]() ![]() ![]() ![]() |
Oracle Complex Event Processing (略称 Oracle CEP) アプリケーションには、1 つまたは複数のストリーム コンポーネント (ストリーム) が含まれています。ストリームは、アダプタとプロセッサの間、プロセッサとビジネス ロジック POJO の間など、他のタイプのコンポーネント間のデータを処理します。
アプリケーションの各ストリームにはデフォルトのコンフィグレーションがあります。特に、以下のものが含まれています。
デフォルトのストリーム コンフィグレーションは通常ほとんどのアプリケーションで十分に機能します。ただし、このコンフィグレーションを変更する場合は、Oracle CEP アプリケーション バンドルの一部としてデプロイされる XML ファイルを作成する必要があります。後から wlevs.Admin ユーティリティを使用するか、または適切な JMX Mbean を直接操作して、実行時にこのコンフィグレーションを更新できます。
アプリケーションに複数のストリームが含まれている場合は、各ストリームごとに個別の XML ファイルを作成するか、すべてのストリームのコンフィグレーションが含まれた単一の XML ファイルを作成するか、またはアプリケーションのすべてのコンポーネント (アダプタ、プロセッサ、およびストリーム) が含まれたファイルを作成できます。開発環境に最も適した方法を選択します。
以下の手順では、ストリームのコンフィグレーション ファイルを作成する主な手順について示します。簡略化のため、この手順ではアプリケーションのすべてのコンポーネントを 1 つの XML ファイルにコンフィグレーションすることを想定しています。
ストリーム コンフィグレーション ファイルを記述する完全な XSD スキーマについては、コンポーネント コンフィグレーション ファイルの XSD スキーマ リファレンスを参照してください。
.xml
拡張子を使用するのであれば任意の名前を付けてかまいません。
コンフィグレーション ファイルのルート要素は <config>
であり、次の手順に示すネームスペース定義を使用します。
<config>
の <stream>
子要素を追加します。<name>
子要素を使用して各ストリームをユニークに識別します。この名前は、アプリケーションのイベント処理ネットワークを定義する EPN アセンブリ ファイルの <wlevs:stream>
タグの id
属性の値と一致している必要があります。このように指定することで、Oracle CEP では、このストリーム コンフィグレーションが適用される EPN アセンブリ ファイル内の特定のストリーム コンポーネントを認識します。詳細については、「EPN アセンブリ ファイルの作成」を参照してください。
たとえば、アプリケーションに 2 つのストリームがある場合、コンフィグレーション ファイルは最初に以下のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<helloworld:config
xmlns:helloworld="http://www.bea.com/xml/ns/wlevs/example/helloworld">
<processor>
...
</processor>
<stream>
<name>firstStream</name>
...
</stream>
<stream>
<name>secondStream</name>
...
</stream>
</helloworld:config>
この例では、コンフィグレーション ファイルに firstStream
と secondStream
という 2 つのストリームが含まれています。このため、EPN アセンブリ ファイルには同じ識別子を持つストリームが少なくとも 2 つ登録されている必要があります。
<wlevs:streamid="firstStream" ...
>
...
</wlevs:stream>
<wlevs:streamid="secondStream"
...>
...
</wlevs:stream>
警告 : | XML ファイル内の識別子および名前は大文字と小文字が区別されるため、EPN アセンブリ ファイルでコンポーネントの識別子を参照する場合は、必ず同一の大文字と小文字を指定するようにします。 |
<stream>
要素の <max-size>
子要素を追加してストリームの最大サイズを指定します。サイズが 0 のストリームではイベントが同期的にパススルーされます。サイズが 0 以外のストリームでは要求されたサイズでイベントがバッファリングされ、イベントが非同期で処理されます。デフォルト値は 1024 です。 <stream>
<name>firstStream</name><max-size>10000</size>
</stream>
<stream>
要素の <max-threads>
子要素を追加して、このストリームのイベントの処理に使用されるスレッドの最大数を指定します。<max-size>
が 0 の場合はこの値を設定しても効果はありません。デフォルト値は 1 です。 <stream>
<name>firstStream</name><max-threads>2</size>
</stream>
<stream>
要素の monitoring
ブール属性を使用してストリームのモニタを有効または無効にします。デフォルトでは、モニタは有効です。モニタが有効な場合、ストリームでは着信または発信イベント数などの実行時統計が収集され、その情報が Mbean に転送されます。<streammonitoring="true"
><name>firstStream</name>
</stream>
...
モニタを実際に有効にするには、ストリームの管理容易性も有効にしておく必要があります。そうしないと、monitoring
属性を true
に設定しても効果はありません。管理容易性を有効にするには、次の例の太字部分のように、EPN アセンブリ ファイルに登録された対応するコンポーネントの manageable
属性を true
に設定します。
<wlevs:streamid="firstStream"
manageable="true"
>
<wlevs:listener ref="helloworldProcessor"/>
<wlevs:source ref="helloworldAdapter"/>
</wlevs:stream>
次の XML ファイルの例は、firstStream
および secondStream
という 2 つのストリームをコンフィグレーションする方法を示します。
<?xml version="1.0" encoding="UTF-8"?>
<sample:config
xmlns:sample="http://www.bea.com/xml/ns/wlevs/example/sample">
<stream>
<name>firstStream</name>
<max-size>10</max-size>
</stream>
<stream>
<name>secondStream</name>
<max-threads>4</max-threads>
</stream>
</sample:config>
![]() ![]() ![]() |