WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 オペレーティング・システム: AIX, HP-UX, Linux, Solaris, Windows

イベント・セレクターの作成

イベント・セレクターは、一連のイベントを定義します。

イベント・セレクターは、一連のイベントをそのプロパティー・データ (属性またはサブエレメント) を基に定義する、正規表現です。 例えば、重大度が 30 (警告) より大きな特定のホストのすべてのイベントを指定するイベント・セレクターなどがあります。 イベント・セレクターは、イベント・グループの定義、フィルター基準の指定、およびイベント・サーバーの照会に使用されます。

コモン・ベース・イベントの仕様は XML に基づいているため、イベント・セレクターは XPath 構文のサブセットを使用して作成されます。 イベント・セレクターに使用することができる特定の構文は、以下の表にまとめられているように、そのイベント・セレクターの使用方法によって異なります。

イベント・セレクターの目的 構文
イベント・グループの定義 デフォルトのデータ・ストア・プラグインによってサポートされている XPath サブセットのみ
イベント・アクセス・インターフェースを介したイベント照会およびパージ デフォルトのデータ・ストア・プラグインによってサポートされている XPath サブセットのみ
エミッター・フィルターの構成 有効な任意の XPath
通知ヘルパー・インターフェースを介したサブスクリプション 有効な任意の XPath
注: デフォルトのデータ・ストア・プラグインは、XPath 構文のサブセットを使用します。 ただし、別のデータ・ストア・プラグインを使用している場合は、XPath の別のサブセットをサポートする場合もあります。 イベント・グループ定義用、およびイベント・アクセス・インターフェース用に作成されるイベント・セレクターには、データ・ストア・プラグインによってサポートされている構文を使用する必要があります。

XPath イベント・セレクターの作成

XPath は、XML 文書の一部を識別するために使用される標準言語です。詳しくは、http://www.w3.org/TR/xpath にある XPath の仕様を参照してください。

属性値を指定する単純な XPath イベント・セレクターの形式は、以下のとおりです。
CommonBaseEvent[@attribute = value]
value には、数値、あるいは一重または二重引用符で囲んだストリングが入ります。
サブエレメントの属性を指定することも可能です。
CommonBaseEvent[/subelement/@attribute = value]

XPath 演算子を使用する場合は、以下の一般的な規則に注意してください。

以下は、有効な XPath イベント・セレクターの例です。

XPath イベント・セレクター セレクター定義
CommonBaseEvent[@extensionName = 'ApplicationStarted'] extensionName 属性 ApplicationStarted を持つすべてのイベント
CommonBaseEvent[sourceComponentId/ @location = "server1"] location 属性 server1 を持つ sourceComponentId エレメントを含むすべてのイベント
CommonBaseEvent[@severity] 値に関係なく severity 属性を持つすべてのイベント
CommonBaseEvent[@creationTime < '2003-12-10T12:00:00-05:00' and @severity > 30] 2003 年 12 月 10 日の米東部標準時正午より前に作成され、30 (警告) より大きい重大度を持つすべてのイベント
CommonBaseEvent[contains(@msg, 'disk full')] msg 属性内にフレーズ disk full があるすべてのイベント
CommonBaseEvent[(@severity = 30 or @severity = 50) and @priority = 100] severity 属性が 30 または 50 に等しく、priority が 100 に等しいすべてのイベント

デフォルト・データ・ストア・プラグイン用イベント・セレクターの作成

イベント・グループの定義、またはパーシスタント・データ・ストアの照会に使用される可能性があるイベント・セレクターには、デフォルト・データ・ストア・プラグインの制約事項が適用されます。 以下の制約事項があります。
  • イベント・プロパティーは、演算子の左側、または XPath 関数でのみ指定できる。 演算子の右側の値は、リテラル値にする必要があります。 以下の例は、有効なイベント・セレクターではありません。
    CommonBaseEvent[30 < @priority and
                    contains('this message', @msg)]
    これは、代わりに以下のように書き換えることができます。
    CommonBaseEvent[@priority > 30 and
                    contains(@msg, 'this message')]
  • XPath 関数は、以下のみサポートされる。
    • contains
    • starts-with
    • false
    • true
    • not
  • 和集合演算子 (|) はサポートされない。
  • イベント・セレクターは、以下の形式をとる必要がある。
    CommonBaseEvent[predicate_expression]
    CommonBaseEvent エレメントと関連付けられるのは、述部が単一の式のみです。 スタックされた述部はサポートされていません (例えば、CommonBaseEvent[@extensionName = "server_down"][@severity = 10])。
  • 述部は、ロケーション・パスの最後のステップとのみ、関連付けられる。 以下の例は、有効なイベント・セレクターではありません。
    CommonBaseEvent[contextDataElement[@contextValue = "myContextValue"]
                    /@contextId = "myContextId"]
    これは、代わりに以下のように書き換えることができます。
    CommonBaseEvent[contextDataElement[@contextValue = "myContextValue"
                    and @contextId = "myContextId"]]
  • イベント・セレクターが、XML 包含階層のさまざまなレベルにある拡張データ・エレメントのプロパティーを参照している場合は、それらのエレメントをレベルごとにグループ化する必要があります。 以下の例は、extendedDataElementstype 属性と value 属性 (どちらもトップレベル) への参照が分離されているため、有効なイベント・セレクターではありません。
    CommonBaseEvent[extendedDataElements[@type = 'int' and
                                         children/@type = 'intArray' and
                                         children/@name = 'myName' and
                                         @value = 10]]
    これは、代わりにトップレベルと第 2 レベルの属性をグループ化して、以下のように書き換えることができます。
    CommonBaseEvent[extendedDataElements[@type = 'int' and
                                         @value = 10 and
                                         children/@type = 'intArray' and
                                         children/@type = 'myName']]
  • ノード・インデックスはサポートされていない (例えば CommonBaseEvent[extendedDataElements[1]] など)。
  • ワイルドカード文字はサポートされていない (例えば CommonBaseEvent[extendedDataElements/*/children/values = "text"] など)。
  • 拡張データ・エレメントの values プロパティーを参照する場合は、値だけでなくプロパティーのタイプも指定する必要がある。
    CommonBaseEvent[extendedDataElements[values = "myVal"
      and @type = "string"]]
    括弧でグループ化することによって、複合式の中で多重比較のためのタイプを指定することができます。
    CommonBaseEvent[extendedDataElements[(values = "myVal" or
                                          values = "yourVal") and
                                          @type = "string"]]
    この例の場合、type 式は、括弧内の複合式の両方の部分に適用されます。 括弧内で別の type 式を指定しても、これをオーバーライドすることはできません。
    starts-with 関数または contains 関数を使用して、複数の関連タイプを一緒にグループ化することもできます。 例えば、以下の式は、string または stringArray タイプのいずれかを持つプロパティーと一致します。
    CommonBaseEvent[extendedDataElements[values = "myVal" and
                                         starts-with(@type, 'string')]]

Concept topic

ご利用条件 | フィードバック (英語のみ)

Timestamp icon最終更新: 5 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\ccei_adminCBEB_eventselector.html

(C) Copyright IBM Corporation 2005. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)