Sun WBEM SDK 開発ガイド

イベントハンドラの作成

イベントハンドラは、CIM_IndicationHandler クラスのインスタンスです。CIM イベント MOF には、HTTP プロトコルを使ってクライアントアプリケーションに送信されるインジケーションの宛先を指定する CIM_IndicationHandlerXMLHTTP クラスが定義されています。イベントの HTTP 送信はまだ定義されていないため、HTTP クライアントへのイベントの送信はサポートされていません。

Solaris イベント MOF は、Solaris_RMIDelivery クラスを作成して CIM_IndicationHandler クラスを拡張し、RMI プロトコルを使用して CIM イベントインジケーションのクライアントアプリケーションへの送信を処理します。RMI クライアントは、Solaris_RMIDelivery クラスのインスタンスを作成して、RMI 送信の場所を設定する必要があります。

アプリケーションでは、CIM_IndicationHandler クラスのプロパティにハンドラの固有名とその所有者の UID を指定します。

表 6–2 CIM_IndicationHandler クラスのプロパティ

プロパティ 

説明 

必須/任意 

SystemCreationClassName 

このハンドラを作成するクラスがあるシステムの名前、またはこのクラスが適用されるシステムの名前。 

任意。このキープロパティのデフォルトは CIM_System クラスを作成するクラス

SystemName 

このハンドラがあるシステムの名前、またはこのハンドラが適用されるシステムの名前。 

任意。このキープロパティのデフォルト値は、CIM Object Manager が動作しているシステムの名前。 

CreationClassName 

このハンドラの作成に使用するクラスまたはサブクラス。 

任意。CIM Object Manager は、このキープロパティのデフォルトとして CIM_IndicationFilter を割り当てる。

Name 

このハンドラの固有名。 

必須。クライアントアプリケーションは固有名を指定する必要がある。 

Owner 

このハンドラを作成した、または保持するエンティティの名前。プロバイダは、この値を検査して、インジケーションの受信をハンドラに承認するかどうかを確認できる。 

任意。デフォルトは、このインスタンスを作成するユーザーの Solaris ユーザー名。 

次のコード例は、CIM イベントハンドラの作成方法を示したものです。


例 6–2 CIM イベントハンドラの作成

// Solaris_RMIDelivery クラスのインスタンスを作成する
CIMClass rmidelivery = cc.getClass(new CIMObjectPath
        (“Solaris_RMIDelivery”), false, true, true, null);

CIMInstance ci = rmidelivery.newInstance();

// rmidelivery インスタンスから新しい
// インスタンス (delivery) を作成する
CIMObjectPath delivery = cc.createInstance(new CIMObjectPath(), ci);