インスタンスの削除には、deleteInstance メソッドを使用します。
クライアントアプリケーションを CIMOM に接続する
CIMObjectPath を使って、削除されるオブジェクトの CIM オブジェクトパスを含むオブジェクトを構築する
enumerateInstance を呼び出して、指定のインスタンスとそのサブクラスのすべてのインスタンスを取得する
deleteInstance を呼び出して各インスタンスを削除する
import java.rmi.*; import java.util.Enumeration; import javax.wbem.cim.CIMClass; import javax.wbem.cim.CIMException; import javax.wbem.cim.CIMInstance; import javax.wbem.cim.CIMNameSpace; import javax.wbem.cim.CIMObjectPath; import javax.wbem.client.CIMClient; import javax.wbem.client.PasswordCredential; import javax.wbem.client.UserPrincipal; /** * 指定のクラスのインスタンスをすべて返す。 * この例は、ホスト名 (args[0])、ユーザー名 (args[1])、 * パスワード (args[2])、名前空間 (args[3])、およびクラス名 (args[4]) という * 5 つの引数を取る。指定のクラス名のインスタンスをすべて削除する。 * 指定のユーザー名は、指定の名前空間に対する書き込み権を持つ必要 * がある */ public class DeleteInstances { public static void main(String args[]) throws CIMException { CIMClient cc = null; // 5 つの引数が指定されない場合は使用法を表示して終了する if (args.length != 5) { System.out.println("Usage: DeleteInstances host username " + "password namespace classname "); System.exit(1); } try { // args[0] にはホスト名、args[3] には名前空間が含まれる。 // 指定のホスト上の指定の名前空間を指す CIMNameSpace (cns) // を作成する CIMNameSpace cns = new CIMNameSpace(args[0], args[3]); // args[1] と args[2] にはユーザー名とパスワードが含まれる。 // このユーザー名で UserPrincipal (up) を作成し、 // このパスワードで PasswordCredential を作成する UserPrincipal up = new UserPrincipal(args[1]); PasswordCredential pc = new PasswordCredential(args[2]); // CIM オブジェクトマネージャに接続し、 // 作成した CIMNameSpace、UserPrincipal、および // PasswordCredential のオブジェクトを渡す cc = new CIMClient(cns, up, pc); // クラス名 (args[4]) を取得し CIMObjectPath を作成する CIMObjectPath cop = new CIMObjectPath(args[4]); // クラスとその全サブクラスのインスタンスオブジェクトパスの // 列挙を取得する。インスタンスオブジェクトパスは、 // CIM オブジェクトマネージャがインスタンスを検索する // ときに使用する参照 Enumeration e = cc.enumerateInstanceNames(cop); // インスタンスオブジェクトパスの列挙を繰り返し処理する。 // オブジェクトを構築し、列挙された各インスタンスの // オブジェクトパスを格納し、このインスタンスを出力 // して、削除する while (e.hasMoreElements()) { CIMObjectPath op = (CIMObjectPath)e.nextElement(); System.out.println(op); cc.deleteInstance(op); } // while の終了 } catch (Exception e) { // 例外が発生した場合はそれを出力する System.out.println("Exception: "+e); } // catch の終了 // セッションの終了 if (cc != null) { cc.close(); } } }