Oracle® Fusion Middleware Oracle Event Processing開発者ガイド 11gリリース1 (11.1.1.7) for Eclipse B61654-06 |
|
前 |
次 |
この章では、イベント・インスペクタのサービスを使用して、Oracle Event Processingイベント処理ネットワーク(EPN)の任意のステージでイベントをトレースおよびインジェクトする方法について説明します。
この章の内容は次のとおりです。
注意: イベント・インスペクタのサービスは、Oracle Event Processing本番サーバーでは使用しません。開発するときにのみ使用します。 |
イベント・インスペクタのサービスを使用して次のことを実行できます:
EPNのいずれかのステージからのイベントの表示
EPNのいずれかのステージへのイベントのインジェクト
開発中にOracle CQL問合せのテストやデバッグを行うためにイベント・インスペクタのサービスを使用できます。
この項では次について説明します:
テストおよびデバッグの詳細は、6.4項「Oracle Event Processingサーバー上で実行されているOracle Event Processingアプリケーションのデバッグ」を参照してください
イベント・インスペクタのサービスを使用して、EPNのいずれかのステージから退出するイベントを表示します。
イベント・インスペクタのサービスは共通HTTPパブリッシュ・サブスクライブ・チャネルとサーバーを使用してイベントをトレースします。
トレース・イベントのbinding
属性にはoutbound
を設定する必要があります。
詳細は、次を参照してください:
イベント・インスペクタのサービスを使用して、EPNのいずれかのステージへイベントをインジェクトできます。
イベント・インスペクタのサービスはHTTPパブリッシュ・サブスクライブ・チャネルとサーバーを使用してイベントをインジェクトします。
インジェクトされたイベントのbinding
属性にはinbound
を設定する必要があります。
イベント・インスペクタ・クライアントを使用して次のようなイベントがインジェクトできます。
StockTick
イベントなど、タイプによる単一のシンプルなイベント
この場合、使用可能な特定のイベント・プロパティ・タイプはクライアントに依存します。
JSON形式の文字列として単一イベントのHTTPパブリッシュ・サブスクライブ・チャネルへの直接インジェクト
この場合、JSONが示すことのできるいずれかのイベント・プロパティを使用できます。
1つ以上のJSON形式の文字列を含むファイルを使用した複数のイベント
この場合、JSONが示すことのできるいずれかのイベント・プロパティを使用できます。 イベント・インスペクタのサービス・クライアントがファイルを解析し、すべてのJSON文字列をHTTPパブリッシュ・サブスクライブ・チャネルにインジェクトします。
入力ファイルを作成するとき、JavaオブジェクトをJSON形式に変換するためにGSON Javaライブラリを使用できます。
詳細は、次を参照してください:
JavaBean、Map
およびタプルのすべてのOracle Event Processingイベント・タイプがサポートされています。
イベント・インスペクタのサービスは、トレース・チャネルに公開する前にイベントをJavaScript Object Notation (JSON)形式に変換します。イベントはJSON形式でインジェクトする必要があります。
JSON形式のイベントは、例22-1に示す構造に準拠する必要があります。表22-1は必要な属性を示します。
注意: イベント・インスペクタで使用されるイベント・タイプのプロパティ・タイプとして、バイト配列はサポートされていません。 |
例22-1 イベント・インスペクタJSONイベント
{ "event-type": "myEventType", "operation": "insert", "binding": "outbound", "value":{ "firstname": "Jane", "lastname": "Doe", "phone": { "code": 12345, "number": "office" }, } }
表22-1 イベント・インスペクタJSONイベントの必要な属性
属性 | 説明 |
---|---|
|
アプリケーション・アセンブリ・ファイルの |
|
イベントのタイプを指定します。
|
|
次のうちの1つ:
|
|
|
詳細は、次を参照してください:
イベント・インスペクタのサービスは動的HTTPパブリッシュ・サブスクライブ(HTTP pub-sub)チャネル(config.xml
で構成なし)を使用します。次の名前がつけられています。
/
SERVERNAME
/
APPLICATIONNAME
/
STAGENAME
/DIRECTION
説明:
SERVERNAME
:Oracle Event Processing EPNステージが実行されているOracle Event Processingサーバーの名前。
APPLICATIONNAME
: Oracle Event Processingアプリケーションの名前。
STAGENAME
: EPNステージの名前。
DIRECTION
: 次のいずれか:
input
: イベントをインジェクトする場合。
output
: イベントをトレースする場合。
例:
/server-1/myapp/MyInputAdapter/input
イベント・インスペクタのサービスは、HTTPパブリッシュ・サブスクライブ・サーバーを使用します。次のいずれかになります。
ローカル: event-inspector
要素でconfig.xml
ファイルを構成し、このマシンで実行中のローカル・パブリッシュ・サブスクライブ・サーバーの名前でpubsub-server-name
子要素を構成します。詳細は、22.2.1項「ローカル・イベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーの構成方法」を参照してください。
リモート: event-inspector
要素でconfig.xml
ファイルを構成し、リモート・マシンで実行中のHTTPパブリッシュ・サブスクライブ・サーバーへのURLでpubsub-server-url
子要素を構成します。詳細は、22.2.2項「リモート・イベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーの構成方法」を参照してください。
デフォルト: config.xml
ファイルで1つのみのHTTPパブリッシュ・サブスクライブ・サーバーが定義されていてローカルまたはリモートのHTTPパブリッシュ・サブスクライブ・サーバーが指定されていない場合、イベント・インスペクタ・サービスはデフォルトでローカルのHTTPパブリッシュ・サブスクライブ・サーバーを使用します。
イベント・インスペクタのサービスは同じHTTPパブリッシュ・サブスクライブ・チャネルとサーバーを使用してイベントをトレースしインジェクトします。
詳細は、次を参照してください:
ローカルまたはリモートのHTTPパブリッシュ・サブスクライブ・サーバーでイベント・インスペクタのサービスを構成できます。
コンポーネント構成ファイルでイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーを構成します。これらの構成ファイルの一般情報は、1.4.2項「コンポーネント構成ファイルの概要」を参照してください。
config.xml
にHTTPパブリッシュ・サブスクライブ・サーバーが1つのみ定義されていて、ローカルまたはリモートのHTTPパブリッシュ・サブスクライブ・サーバーが指定されていない場合、イベント・インスペクタ・サービスはデフォルトでローカルのHTTPパブリッシュ・サブスクライブ・サーバーを使用します。詳細は、第12章「HTTPパブリッシュ/サブスクライブ・サーバーの統合」を参照してください。
コンポーネント構成ファイルに、ローカルのHTTPパブリッシュ・サブスクライブ・サーバーでイベント・インスペクタのサービスを構成します。22.2.2項「リモートのイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーの構成方法」の説明に従って、リモートのHTTPパブリッシュ・サブスクライブ・サーバーを構成できます。
ローカルのイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーを構成するには:
Oracle Event Processing IDE for EclipseのEPNエディタを開きます。
7.1項「EPNエディタを開く」を参照してください。
構成ファイルと関連付けたいずれかのコンポーネントを右クリックし、「構成のソースに移動」を選択します。
例22-2に示すように、event-inspector
要素を追加します。
例22-2 イベント・インスペクタ・サービス・ローカルのHTTPパブリッシュ・サブスクライブ・サーバー
<event-inspector> <name>myEventInspectorConfig</name> <pubsub-server-name>myPubSub</pubsub-server-name> </event-inspector>
例22-3に示すように、myPubSub
のpubsub-server-name値は、ローカルのOracle Event Processingサーバーconfig.xml
ファイルで定義されたhttp-pubsub
要素のname
子要素の値です。
例22-3 Oracle Event Processing組込みの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パブリッシュ・サブスクライブ・サーバーでイベント・インスペクタのサービスを構成します。22.2.1項「ローカルのイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーの構成方法」の説明に従って、ローカルのHTTPパブリッシュ・サブスクライブ・サーバーを構成できます。
リモートのイベント・インスペクタHTTPパブリッシュ・サブスクライブ・サーバーを構成するには:
Oracle Event Processing IDE for EclipseのEPNエディタを開きます。
7.1項「EPNエディタを開く」を参照してください。
構成ファイルと関連付けたいずれかのコンポーネントを右クリックし、「構成のソースに移動」を選択します。
例22-4に示すように、event-inspector
要素を追加します。
例22-4 イベント・インスペクタ・サービス・リモートのHTTPパブリッシュ・サブスクライブ・サーバー
<event-inspector> <name>myEventInspectorTraceConfig</name> <pubsub-server-url>http://HOST
:PORT
/PATH
</pubsub-server-url> </event-inspector>
説明:
HOST
: リモートのOracle Event Processingサーバーのホスト名またはIPアドレスです。
PORT
: リモートのOracle Event Processingサーバーconfig.xml
ファイルで定義されたリモートのOracle Event Processingサーバーnetio
ポートです。デフォルトは9002です。
PATH
: リモートのOracle Event Processingサーバーconfig.xml
ファイルで定義されたhttp-pubsub
要素pathの
子要素の値です。
例22-3に示すhttp-pubsub
構成の場合、有効なpubsub-server-url
は、次を参照してください。
http://remotehost:9002/pubsub
例22-5 Oracle Event Processing組込みの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パブリッシュ・サブスクライブ・サーバーを構成した後、イベントをインジェクトするためにイベント・インスペクタ・クライアントを使用できます。イベント・インジェクションを構成するには、Oracle Event Processing Visualizerを使用するか、アプリケーションでコンポーネント構成ファイルを編集して、アプリケーションのデプロイ時または再デプロイ時に設定されるインジェクション設定を指定します。
Oracle Event Processing Visualizerで、アプリケーションの再デプロイ時に破棄できる設定でイベント・インジェクションを構成します。Oracle Event Processing Visualizerを使用してイベントをインジェクトする方法の詳細は、『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のイベント・インスペクタ・サービス動的チャネルでの単純イベントのインジェクト方法およびイベント・インスペクタ・サービス動的チャネルでイベントをJSON文字列としてインジェクトする方法に関する項を参照してください。
アプリケーションのデプロイ時または再デプロイ時に設定されるイベント・インジェクション設定を指定するには、インジェクトするステージのコンポーネント構成設定を編集して、インジェクションを構成します。
たとえば、22.3項「イベント・インジェクション・コンポーネント構成設定」に示すコンポーネント構成の一部は、イベント・インジェクション用にプロセッサを構成する方法を示しています。inject-parameters
要素のactive
子要素はインジェクションをオンにすることを指定し、channel-name
要素はインジェクトされる要素の送信元のHTTPパブリッシュ・サブスクライブ(HTTP pub-sub)チャネルを指定します。
例22-6 イベント・インジェクション・コンポーネント構成設定
<processor> <name>FindCrossRates</name> <inject-parameters> <active>true</active> <channel-name>/NonClusteredServer/fx/FindCrossRates/output</channel-name> </inject-parameters> <rules> <!-- Query rules omitted. --> </rules> </processor>
これらの要素の参照情報は、D.55項「inject-parameters」を参照してください。
詳細は、次を参照してください:
イベント・インスペクタ・サービスHTTPパブリッシュ・サブスクライブ(HTTP pub-sub)サーバーを構成した後、イベント・インスペクタ・クライアントを使用して、EPNのいずれかのステージから退出するイベントをトレースできます。イベントをトレースするには、Oracle Event Processing Visualizerを使用してトレースを構成するか、アプリケーションでコンポーネント構成ファイルを編集して、アプリケーションのデプロイ時または再デプロイ時に設定されるトレース設定を指定します。
Oracle Event Processing Visualizerで、アプリケーションの再デプロイ時に破棄できる設定でイベント・トレースを構成します。Oracle Event Processing Visualizerを使用してイベントをトレースする方法の詳細は、『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』の動的チャネルでイベントをトレースする方法に関する項を参照してください。
アプリケーションのデプロイ時または再デプロイ時に設定されるイベント・トレース構成について、トレース元のステージのコンポーネント構成設定を編集して、トレースを構成します。
たとえば、22.4項「イベント・トレース・コンポーネント構成設定」に示すコンポーネント構成の一部は、イベント・トレース用にプロセッサを構成する方法を示しています。trace-parameters
要素のactive子要素はトレースをオンにすることを指定し、channel-name要素はトレースされる要素の送信先のHTTPパブリッシュ・サブスクライブ(HTTP pub-sub)チャネルを指定します。
例22-7 イベント・トレース・コンポーネント構成設定
<processor> <name>FindCrossRates</name> <trace-parameters> <active>true</active> <channel-name>/NonClusteredServer/fx/FindCrossRates/output</channel-name> </trace-parameters> <rules> <!-- Query rules omitted. --> </rules> </processor>
これらの要素の参照情報は、D.106項「trace-parameters」を参照してください。
詳細は、次を参照してください: