| Oracle® Fusion Middleware Oracle Complex Event Processing開発者ガイド 11gリリース1 (11.1.1.6.2) for Eclipse B61654-04 |
|
![]() 前 |
![]() 次 |
この章では、イベント・インスペクタのサービスを使用して、Oracle Complex Event Processing (Oracle CEP)イベント処理ネットワーク(EPN)の任意のステージでイベントをトレースおよびインジェクトする方法について説明します。
|
注意: イベント・インスペクタのサービスは、Oracle CEP本番サーバーでは使用しません。開発するときにのみ使用します。 |
イベント・インスペクタのサービスを使用して次のことを実行できます:
EPNのいずれかのステージからのイベントの表示
EPNのいずれかのステージへのイベントのインジェクト
開発中にOracle CQL問合せのテストやデバッグを行うためにイベント・インスペクタのサービスを使用できます。
この項では次について説明します:
テストおよびデバッグの詳細は、5.4項「Oracle CEPサーバー上で実行されているOracle CEPアプリケーションのデバッグ」を参照してください。
イベント・インスペクタのサービスを使用して、EPNのいずれかのステージから退出するイベントを表示します。
イベント・インスペクタのサービスは共通HTTPパブリッシュ・サブスクライブ・チャネルとサーバーを使用してイベントをトレースします。
トレース・イベントのbinding属性にはoutboundを設定する必要があります。
詳細は、次を参照してください:
イベント・インスペクタのサービスを使用して、EPNのいずれかのステージへイベントをインジェクトできます。
イベント・インスペクタのサービスはHTTPパブリッシュ・サブスクライブ・チャネルとサーバーを使用してイベントをインジェクトします。
インジェクトされたイベントのbinding属性にはinboundを設定する必要があります。
イベント・インスペクタ・クライアントを使用して次のようなイベントがインジェクトできます。
StockTickイベントなど、タイプによる単一のシンプルなイベント
この場合、使用可能な特定のイベント・プロパティ・タイプはクライアントに依存します。
JSON形式の文字列として単一イベントのHTTPパブリッシュ・サブスクライブ・チャネルへの直接インジェクト
この場合、JSONが示すことのできるいずれかのイベント・プロパティを使用できます。
1つ以上のJSON形式の文字列を含むファイルを使用した複数のイベント
この場合、JSONが表示できるいずれかのイベント・プロパティを使用できます。イベント・インスペクタのサービス・クライアントがファイルを解析し、すべてのJSON文字列をHTTPパブリッシュ・サブスクライブ・チャネルにインジェクトします。
入力ファイルを作成するとき、JavaオブジェクトをJSON形式に変換するためにGSON Javaライブラリを使用できます。
詳細は、次を参照してください:
JavaBean、Java Class、MapEventおよびタプルのすべてのOracle CEPイベント・タイプがサポートされています。
イベント・インスペクタのサービスは、トレース・チャネルに公開する前にイベントをJavaScript Object Notation (JSON)形式に変換します。イベントはJSON形式でインジェクトする必要があります。
JSON形式のイベントは、例26-1に示す構造に準拠する必要があります。表26-1は必要な属性を示します。
例26-1 イベント・インスペクタJSONイベント
{
"event-type": "myEventType",
"operation": "insert",
"binding": "outbound",
"value":{
"firstname": "Jane",
"lastname": "Doe",
"phone": {
"code": 12345,
"number": "office"
},
}
}
表26-1 イベント・インスペクタJSONイベントの必要な属性
| 属性 | 説明 |
|---|---|
|
アプリケーション・アセンブリ・ファイルの |
|
|
イベントのタイプを指定します。
|
|
|
次のうちの1つ:
|
|
|
|
詳細は、次を参照してください:
イベント・インスペクタのサービスは動的HTTPパブリッシュ・サブスクライブ(HTTP pub-sub)チャネル(config.xmlで構成なし)を使用します。次の名前がつけられています。
/SERVERNAME/APPLICATIONNAME/STAGENAME/DIRECTION
説明:
SERVERNAME: Oracle CEP EPNステージが実行されているOracle CEPサーバーの名前です。
APPLICATIONNAME: Oracle CEPアプリケーションの名前。
STAGENAME: EPNステージの名前。
DIRECTION: 次のいずれか:
input: イベントをインジェクトする場合。
output: イベントをトレースする場合。
例:
/server-1/myapp/MyInputAdapter/input
イベント・インスペクタのサービスは、HTTPパブリッシュ・サブスクライブ・サーバーを使用します。次のいずれかになります。
ローカル: event-inspector-service要素でconfig.xmlファイルを構成し、このマシンで実行中のローカル・パブリッシュ・サブスクライブ・サーバーの名前でpubsub-server-name子要素を構成します。詳細は、26.2.1項「ローカル・イベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーの構成方法」を参照してください。
リモート: event-inspector-service要素でconfig.xmlファイルを構成し、リモート・マシンで実行中のHTTPパブリッシュ・サブスクライブ・サーバーへのURLでpubsub-server-url子要素を構成します。詳細は、26.2.2項「リモート・イベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーの構成方法」を参照してください。
デフォルト: config.xmlファイルで1つのみのHTTPパブリッシュ・サブスクライブ・サーバーが定義されていてローカルまたはリモートのHTTPパブリッシュ・サブスクライブ・サーバーが指定されていない場合、イベント・インスペクタ・サービスはデフォルトでローカルのHTTPパブリッシュ・サブスクライブ・サーバーを使用します。
イベント・インスペクタのサービスは同じHTTPパブリッシュ・サブスクライブ・チャネルとサーバーを使用してイベントをトレースしインジェクトします。
詳細は、次を参照してください:
ローカルまたはリモートのHTTPパブリッシュ・サブスクライブ・サーバーでイベント・インスペクタのサービスを構成できます。
コンポーネント構成ファイルでイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーを構成します。これらの構成ファイルの一般情報は、1.1.5項「コンポーネント構成ファイル」を参照してください。
config.xmlにHTTPパブリッシュ・サブスクライブ・サーバーが1つのみ定義されていて、ローカルまたはリモートのHTTPパブリッシュ・サブスクライブ・サーバーが指定されていない場合、イベント・インスペクタ・サービスはデフォルトでローカルのHTTPパブリッシュ・サブスクライブ・サーバーを使用します。詳細は、第8章「HTTPパブリッシュ/サブスクライブ・サーバー・アダプタの構成」を参照してください。
コンポーネント構成ファイルに、ローカルのHTTPパブリッシュ・サブスクライブ・サーバーでイベント・インスペクタのサービスを構成します。26.2.2項「リモートのイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーの構成方法」の説明に従って、リモートのHTTPパブリッシュ・サブスクライブ・サーバーを構成できます。
ローカルのイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーを構成するには:
Oracle CEP IDE for EclipseのEPNエディタを開きます。
6.1項「EPNエディタを開く」を参照してください。
構成ファイルと関連付けたいずれかのコンポーネントを右クリックし、「構成のソースに移動」を選択します。
例26-2に示すように、event-inspector-service要素を追加します。
例26-2 イベント・インスペクタ・サービス・ローカルのHTTPパブリッシュ・サブスクライブ・サーバー
<event-inspector-service>
<name>myEventInspectorConfig</name>
<pubsub-server-name>myPubSub</pubsub-server-name>
</event-inspector-service>
例26-3に示すように、myPubSubのpubsub-server-name値は、ローカルのOracle CEPサーバーconfig.xmlファイルで定義されたhttp-pubsub要素のname子要素の値です。
例26-3 Oracle CEP組込みのHTTPパブリッシュ・サブスクライブ・サーバーのhttp-pubsub要素
...
<http-pubsub>
<name>myPubSub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>
<channels>
...
</channels>
</pub-sub-bean>
</http-pubsub>
...
config.xmlファイルを保存して閉じます。
コンポーネント構成ファイルに、リモートのHTTPパブリッシュ・サブスクライブ・サーバーでイベント・インスペクタのサービスを構成します。26.2.1項「ローカルのイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーの構成方法」の説明に従って、ローカルのHTTPパブリッシュ・サブスクライブ・サーバーを構成できます。
リモートのイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーを構成するには:
Oracle CEP IDE for EclipseのEPNエディタを開きます。
6.1項「EPNエディタを開く」を参照してください。
構成ファイルと関連付けたいずれかのコンポーネントを右クリックし、「構成のソースに移動」を選択します。
例26-4に示すように、event-inspector-service要素を追加します。
例26-4 イベント・インスペクタ・サービス・リモートのHTTPパブリッシュ・サブスクライブ・サーバー
<event-inspector-service>
<name>myEventInspectorConfig</name>
<pubsub-server-url>http://HOST:PORT/PATH</pubsub-server-url>
</event-inspector-service>
説明:
HOST: リモートのOracle CEPサーバーのホスト名またはIPアドレスです。
PORT: リモートのOracle CEPサーバーconfig.xmlファイルで定義されたリモートのOracle CEPサーバーnetioポートです。デフォルトは9002です。
PATH: リモートのOracle CEPサーバーconfig.xmlファイルで定義されたhttp-pubsub要素pathの子要素の値です。
例26-3に示すhttp-pubsub構成の場合、有効なpubsub-server-urlは、次を参照してください。
http://remotehost:9002/pubsub
例26-5 Oracle CEP組込みのHTTPパブリッシュ・サブスクライブ・サーバーのhttp-pubsub要素
...
<http-pubsub>
<name>myPubSub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>
<channels>
...
</channels>
</pub-sub-bean>
</http-pubsub>
...
config.xmlファイルを保存して閉じます。
イベント・インスペクタ・サービスHTTPパブリッシュ・サブスクライブ・サーバーを構成した後、イベントをインジェクトするためにイベント・インスペクタ・クライアントを使用できます。
この項では、イベントをインジェクトするためにイベント・インスペクタのサービスを使用する方法について説明します。次の項を参照してください。
詳細は、次を参照してください:
EPNのいずれかのステージでイベントをインジェクトするためにOracle CEP Visualizerが使用できます。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』の単一イベントをイベント・インスペクタ・サービス動的チャネルにインジェクトする方法に関する項
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のJSON文字列としてイベントをイベント・インスペクタ・サービス動的チャネルにインジェクトする方法に関する項
イベント・インスペクタ・サービスHTTPパブリッシュ・サブスクライブ・サーバーが構成した後、イベントをトレースするためにイベント・インスペクタ・クライアントを使用できます。
この項では、イベントをトレースするためにイベント・インスペクタのサービスを使用する方法について説明します。次の項を参照してください。
詳細は、次を参照してください:
Oracle CEP Visualizerを使用して、EPNのいずれかのステージから退出するイベントをトレースできます。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』の動的チャネルでイベントをトレースする方法に関する項