モジュール java.management
パッケージ javax.management

インタフェースMBeanServer

    • メソッドの詳細

      • createMBean

        ObjectInstance createMBean​(String className,
                                   ObjectName name)
                            throws ReflectionException,
                                   InstanceAlreadyExistsException,
                                   MBeanRegistrationException,
                                   MBeanException,
                                   NotCompliantMBeanException

        MBeanをインスタンス化し、MBeanサーバーに登録します。 MBeanサーバーは、Default Loader Repositoryを使って、このMBeanのクラスをロードします。 MBeanにはオブジェクト名が関連付けられます。 このオブジェクト名がnullの場合、MBeanは、MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。

        このメソッドは、createMBean(className, name,(Object[]) null,(String[]) null)と同等です。

        このメソッドがMBeanの作成に成功すると、前述の通知が送信されます。

        定義:
        createMBean、インタフェース: MBeanServerConnection
        パラメータ:
        className - インスタンス化するMBeanのクラス名。
        name - MBeanのオブジェクト名。 nullも可。
        戻り値:
        新しくインスタンス化されたMBeanのObjectNameとJavaクラス名を含むObjectInstance 含まれるObjectNamenの場合、含まれるJavaクラス名はgetMBeanInfo(n).getClassName()
        例外:
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectNameがパターンであるか、MBeanにObjectNameが指定されていない場合。
        RuntimeMBeanException - MBeanのコンストラクタ、あるいはそのpreRegisterまたはpostRegisterメソッドがRuntimeExceptionをスローした場合。 MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがRuntimeExceptionをスローすると、MBeanの作成と登録は成功しますが、createMBeanメソッドはRuntimeMBeanExceptionをスローします。 このような場合、createMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeMBeanExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        RuntimeErrorException - MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがErrorをスローすると、MBeanの作成と登録は成功しますが、createMBeanメソッドはRuntimeErrorExceptionをスローします。 このような場合、createMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeErrorExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        ReflectionException - MBeanのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。
        InstanceAlreadyExistsException - MBeanがすでにMBeanサーバーによって制御されている場合。
        MBeanRegistrationException - MBeanのpreRegister (MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。
        MBeanException - MBeanのコンストラクタが例外をスローした場合
        NotCompliantMBeanException - このクラスがJMX準拠のMBeanでない場合
        関連項目:
        MBeanRegistration
      • createMBean

        ObjectInstance createMBean​(String className,
                                   ObjectName name,
                                   ObjectName loaderName)
                            throws ReflectionException,
                                   InstanceAlreadyExistsException,
                                   MBeanRegistrationException,
                                   MBeanException,
                                   NotCompliantMBeanException,
                                   InstanceNotFoundException

        MBeanをインスタンス化し、MBeanサーバーに登録します。 使用するクラス・ローダーは、オブジェクト名で識別されます。 MBeanにはオブジェクト名が関連付けられます。 ローダーのオブジェクト名がnullの場合、MBeanサーバーのロードに使用したClassLoaderが使用されます。 MBeanのオブジェクト名がnullの場合、MBeanは、MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。

        このメソッドは、createMBean(className, name, loaderName,(Object[]) null,(String[]) null)と同等です。

        このメソッドがMBeanの作成に成功すると、前述の通知が送信されます。

        定義:
        createMBean、インタフェース: MBeanServerConnection
        パラメータ:
        className - インスタンス化するMBeanのクラス名。
        name - MBeanのオブジェクト名。 nullも可。
        loaderName - 使用するクラス・ローダーのオブジェクト名。
        戻り値:
        新しくインスタンス化されたMBeanのObjectNameとJavaクラス名を含むObjectInstance 含まれるObjectNamenの場合、含まれるJavaクラス名はgetMBeanInfo(n).getClassName()
        例外:
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectNameがパターンであるか、MBeanにObjectNameが指定されていない場合。
        RuntimeMBeanException - MBeanのコンストラクタ、あるいはそのpreRegisterまたはpostRegisterメソッドがRuntimeExceptionをスローした場合。 MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがRuntimeExceptionをスローすると、MBeanの作成と登録は成功しますが、createMBeanメソッドはRuntimeMBeanExceptionをスローします。 このような場合、createMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeMBeanExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        RuntimeErrorException - MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがErrorをスローすると、MBeanの作成と登録は成功しますが、createMBeanメソッドはRuntimeErrorExceptionをスローします。 このような場合、createMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeErrorExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        ReflectionException - MBeanのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。
        InstanceAlreadyExistsException - MBeanがすでにMBeanサーバーによって制御されている場合。
        MBeanRegistrationException - MBeanのpreRegister (MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。
        MBeanException - MBeanのコンストラクタが例外をスローした場合
        NotCompliantMBeanException - このクラスがJMX準拠のMBeanでない場合
        InstanceNotFoundException - 指定されたクラス・ローダーがMBeanサーバーに登録されていない場合。
        関連項目:
        MBeanRegistration
      • createMBean

        ObjectInstance createMBean​(String className,
                                   ObjectName name,
                                   Object[] params,
                                   String[] signature)
                            throws ReflectionException,
                                   InstanceAlreadyExistsException,
                                   MBeanRegistrationException,
                                   MBeanException,
                                   NotCompliantMBeanException
        MBeanをインスタンス化し、MBeanサーバーに登録します。 MBeanサーバーは、Default Loader Repositoryを使って、このMBeanのクラスをロードします。 MBeanにはオブジェクト名が関連付けられます。 このオブジェクト名がnullの場合、MBeanは、MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。

        このメソッドがMBeanの作成に成功すると、前述の通知が送信されます。

        定義:
        createMBean、インタフェース: MBeanServerConnection
        パラメータ:
        className - インスタンス化するMBeanのクラス名。
        name - MBeanのオブジェクト名。 nullも可。
        params - 呼び出されるコンストラクタのパラメータを含む配列。
        signature - 呼び出されるコンストラクタのシグニチャを含む配列。
        戻り値:
        新しくインスタンス化されたMBeanのObjectNameとJavaクラス名を含むObjectInstance 含まれるObjectNamenの場合、含まれるJavaクラス名はgetMBeanInfo(n).getClassName()
        例外:
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectNameがパターンであるか、MBeanにObjectNameが指定されていない場合。
        RuntimeMBeanException - MBeanのコンストラクタ、あるいはそのpreRegisterまたはpostRegisterメソッドがRuntimeExceptionをスローした場合。 MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがRuntimeExceptionをスローすると、MBeanの作成と登録は成功しますが、createMBeanメソッドはRuntimeMBeanExceptionをスローします。 このような場合、createMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeMBeanExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        RuntimeErrorException - MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがErrorをスローすると、MBeanの作成と登録は成功しますが、createMBeanメソッドはRuntimeErrorExceptionをスローします。 このような場合、createMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeErrorExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        ReflectionException - MBeanのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。
        InstanceAlreadyExistsException - MBeanがすでにMBeanサーバーによって制御されている場合。
        MBeanRegistrationException - MBeanのpreRegister (MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。
        MBeanException - MBeanのコンストラクタが例外をスローした場合
        NotCompliantMBeanException - このクラスがJMX準拠のMBeanでない場合
        関連項目:
        MBeanRegistration
      • createMBean

        ObjectInstance createMBean​(String className,
                                   ObjectName name,
                                   ObjectName loaderName,
                                   Object[] params,
                                   String[] signature)
                            throws ReflectionException,
                                   InstanceAlreadyExistsException,
                                   MBeanRegistrationException,
                                   MBeanException,
                                   NotCompliantMBeanException,
                                   InstanceNotFoundException

        MBeanをインスタンス化し、MBeanサーバーに登録します。 使用するクラス・ローダーは、オブジェクト名で識別されます。 MBeanにはオブジェクト名が関連付けられます。 ローダーのオブジェクト名が指定されていない場合、MBeanサーバーのロードに使用したClassLoaderが使用されます。 MBeanのオブジェクト名がnullの場合、MBeanは、MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。

        このメソッドがMBeanの作成に成功すると、前述の通知が送信されます。

        定義:
        createMBean、インタフェース: MBeanServerConnection
        パラメータ:
        className - インスタンス化するMBeanのクラス名。
        name - MBeanのオブジェクト名。 nullも可。
        loaderName - 使用するクラス・ローダーのオブジェクト名。
        params - 呼び出されるコンストラクタのパラメータを含む配列。
        signature - 呼び出されるコンストラクタのシグニチャを含む配列。
        戻り値:
        新しくインスタンス化されたMBeanのObjectNameとJavaクラス名を含むObjectInstance 含まれるObjectNamenの場合、含まれるJavaクラス名はgetMBeanInfo(n).getClassName()
        例外:
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectNameがパターンであるか、MBeanにObjectNameが指定されていない場合。
        RuntimeMBeanException - MBeanのコンストラクタ、あるいはそのpreRegisterまたはpostRegisterメソッドがRuntimeExceptionをスローした場合。 MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがRuntimeExceptionをスローすると、MBeanの作成と登録は成功しますが、createMBeanメソッドはRuntimeMBeanExceptionをスローします。 このような場合、createMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeMBeanExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        RuntimeErrorException - MBeanのpostRegisterメソッド(MBeanRegistrationインタフェース)メソッドがErrorをスローすると、MBeanの作成と登録は成功しますが、createMBeanメソッドはRuntimeErrorExceptionをスローします。 このような場合、createMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeErrorExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        ReflectionException - MBeanのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。
        InstanceAlreadyExistsException - MBeanがすでにMBeanサーバーによって制御されている場合。
        MBeanRegistrationException - MBeanのpreRegister (MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。
        MBeanException - MBeanのコンストラクタが例外をスローした場合
        NotCompliantMBeanException - このクラスがJMX準拠のMBeanでない場合
        InstanceNotFoundException - 指定されたクラス・ローダーがMBeanサーバーに登録されていない場合。
        関連項目:
        MBeanRegistration
      • registerMBean

        ObjectInstance registerMBean​(Object object,
                                     ObjectName name)
                              throws InstanceAlreadyExistsException,
                                     MBeanRegistrationException,
                                     NotCompliantMBeanException

        既存のオブジェクトをMBeanとしてMBeanサーバーに登録します。 このオブジェクト名がnullの場合、MBeanは、MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。

        このメソッドがMBeanの登録に成功すると、前述の通知が送信されます。

        パラメータ:
        object - MBeanとして登録されるMBean。
        name - MBeanのオブジェクト名。 nullも可。
        戻り値:
        新しく登録されたMBeanのObjectNameとJavaクラス名を含むObjectInstance 含まれるObjectNamenの場合、含まれるJavaクラス名はgetMBeanInfo(n).getClassName()
        例外:
        InstanceAlreadyExistsException - MBeanがすでにMBeanサーバーによって制御されている場合。
        MBeanRegistrationException - MBeanのpreRegister (MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。
        RuntimeMBeanException - MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがRuntimeExceptionをスローすると、MBeanの登録は成功しますが、registerMBeanメソッドはRuntimeMBeanExceptionをスローします。 このような場合、registerMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeMBeanExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        RuntimeErrorException - MBeanのpostRegister (MBeanRegistrationインタフェース)メソッドがErrorをスローすると、MBeanの登録は成功しますが、registerMBeanメソッドはRuntimeErrorExceptionをスローします。 このような場合、registerMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。 RuntimeErrorExceptionpreRegisterでもスローされますが、その場合はMBeanは登録されません。
        NotCompliantMBeanException - このオブジェクトがJMX準拠のMBeanでない場合
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるオブジェクトがnullであるか、オブジェクト名が指定されていない場合。
        関連項目:
        MBeanRegistration
      • unregisterMBean

        void unregisterMBean​(ObjectName name)
                      throws InstanceNotFoundException,
                             MBeanRegistrationException
        MBeanサーバーからMBeanの登録を解除します。 MBeanはオブジェクト名で識別されます。 メソッドを呼び出したあと、オブジェクト名を指定してこのMBeanにアクセスすることはできません。

        このメソッドがMBeanの登録解除に成功すると、前述の通知が送信されます。

        定義:
        unregisterMBean、インタフェース: MBeanServerConnection
        パラメータ:
        name - 登録解除するMBeanのオブジェクト名。
        例外:
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、登録解除しようとしているMBeanがMBeanServerDelegateである場合。
        RuntimeMBeanException - MBeanのpostDeregister (MBeanRegistrationインタフェース)メソッドがRuntimeExceptionをスローすると、MBeanの登録解除は成功しますが、unregisterMBeanメソッドはRuntimeMBeanExceptionをスローします。 このような場合、unregisterMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録解除されます。 RuntimeMBeanExceptionpreDeregisterでもスローされますが、その場合はMBeanの登録は解除されません。
        RuntimeErrorException - MBeanのpostDeregister (MBeanRegistrationインタフェース)メソッドがErrorをスローすると、MBeanの登録解除は成功しますが、unregisterMBeanメソッドはRuntimeErrorExceptionをスローします。 このような場合、unregisterMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録解除されます。 RuntimeMBeanExceptionpreDeregisterでもスローされますが、その場合はMBeanの登録は解除されません。
        InstanceNotFoundException - 指定されたMBeanがMBeanサーバーに登録されていない場合。
        MBeanRegistrationException - MBeanのpreDeregister (MBeanRegistrationインタフェース)メソッドが例外をスローした場合。
        関連項目:
        MBeanRegistration
      • queryMBeans

        Set<ObjectInstance> queryMBeans​(ObjectName name,
                                        QueryExp query)
        MBeanサーバーによって制御されるMBeanを取得します。 このメソッドは、すべてのMBean、ObjectNameやクエリー式のパターン・マッチングによって指定されたMBeanのセット、特定のMBeanのいずれかを返します。 オブジェクト名がnullである場合、またはドメインやキーのプロパティが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。 このメソッドは、選択されたMBeanに対して、ObjectInstanceオブジェクトのセット(ObjectNameとJavaクラス名を含む)を返します。
        定義:
        queryMBeans、インタフェース: MBeanServerConnection
        パラメータ:
        name - 取得するMBeanを識別するオブジェクト名パターン。 nullの場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべてのMBeanが取得される。
        query - MBeanの選択に適用されるクエリー式。 nullの場合、MBeanの選択にクエリー式は適用されない。
        戻り値:
        選択されたMBeanのObjectInstanceオブジェクトを含むセット。 クエリーの条件を満たすMBeanが存在しない場合、空のリストが返される。
        例外:
        RuntimeOperationsException
      • queryNames

        Set<ObjectName> queryNames​(ObjectName name,
                                   QueryExp query)
        MBeanサーバーによって制御されるMBeanの名前を取得します。 このメソッドは、すべてのMBeanの名前、ObjectNameやQuery式のパターン・マッチングによって指定されたMBeanのセットの名前、特定のMBeanの名前のいずれかを返します。これにより、MBeanが登録されているかどうかを判別できます。 オブジェクト名がnullである場合、またはドメインやキーのプロパティが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。 このメソッドは、選択されたMBeanに対して、ObjectNameのセットを返します。
        定義:
        queryNames、インタフェース: MBeanServerConnection
        パラメータ:
        name - 取得するMBean名を識別するオブジェクト名パターン。 nullの場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべてのMBeanの名前が取得される。
        query - MBeanの選択に適用されるクエリー式。 nullの場合、MBeanの選択にクエリー式は適用されない。
        戻り値:
        選択されたMBeanのObjectNameを含むセット。 クエリーの条件を満たすMBeanが存在しない場合、空のリストが返される。
        例外:
        RuntimeOperationsException
      • isRegistered

        boolean isRegistered​(ObjectName name)
        インタフェースからコピーされた説明: MBeanServerConnection
        このオブジェクト名で識別されるMBeanが、すでにMBeanサーバーに登録されているかどうかをチェックします。
        定義:
        isRegistered、インタフェース: MBeanServerConnection
        パラメータ:
        name - チェック対象のMBeanのオブジェクト名。
        戻り値:
        MBeanがすでにMBeanサーバーに登録されている場合はtrue、そうでない場合はfalse。
        例外:
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullの場合。
      • getMBeanCount

        Integer getMBeanCount​()
        MBeanサーバーに登録されているMBeanの数を返します。
        定義:
        getMBeanCount、インタフェース: MBeanServerConnection
        戻り値:
        登録済MBeanの数。Integerにラップされる。 呼出し元のアクセス権が制限されている場合、この数は呼出し元からアクセスできるMBeanの数より大きくなる可能性がある。
      • getAttributes

        AttributeList getAttributes​(ObjectName name,
                                    String[] attributes)
                             throws InstanceNotFoundException,
                                    ReflectionException
        インタフェースからコピーされた説明: MBeanServerConnection

        指定されたMBeanの複数の属性の値を取り出します。 MBeanはオブジェクト名で識別されます。

        何らかの理由で1つ以上の属性を取得できない場合、それらは返されるAttributeListから省略されます。 呼出し側はリストがattributes配列と同じサイズであることを確認する必要があります。 属性の取得を妨げた問題を見つけるには、その属性のgetAttributeを呼び出します。

        このメソッドを呼び出して、要求されたすべての属性を正常に取得できたことを確認する例を次に示します。

         String[] attrNames = ...;
         AttributeList list = mbeanServerConnection.getAttributes(objectName, attrNames);
         if (list.size() == attrNames.length)
             System.out.println("All attributes were retrieved successfully");
         else {
             List<String> missing = new ArrayList<String>(Arrays.asList(attrNames));
             for (Attribute a : list.asList())
                 missing.remove(a.getName());
             System.out.println("Did not retrieve: " + missing);
         }
         
        定義:
        getAttributes、インタフェース: MBeanServerConnection
        パラメータ:
        name - MBeanのオブジェクト名。このMBeanの属性が取得される。
        attributes - 取得される属性のリスト。
        戻り値:
        取得される属性のリスト。
        例外:
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。
        InstanceNotFoundException - 指定されたMBeanがMBeanサーバーに登録されていない場合。
        ReflectionException - Dynamic MBeanのgetAttributesメソッドの呼出し時に例外が発生した場合。
        関連項目:
        MBeanServerConnection.setAttributes(javax.management.ObjectName, javax.management.AttributeList)
      • setAttributes

        AttributeList setAttributes​(ObjectName name,
                                    AttributeList attributes)
                             throws InstanceNotFoundException,
                                    ReflectionException
        インタフェースからコピーされた説明: MBeanServerConnection

        指定されたMBeanの複数の属性の値を設定します。 MBeanはオブジェクト名で識別されます。

        何らかの理由で1つ以上の属性を設定できない場合、それらは返されるAttributeListから省略されます。 呼出し側は入力のAttributeListが出力のそれと同じサイズであることを確認する必要があります。 属性の取得を妨げた問題の発見は、通常、その属性のsetAttributeを呼び出すことで可能ですが、必ずしも成功する保証はありません。 たとえば、2つの属性の値が互いに矛盾するために拒否された可能性があります。 どちらか1つであれば、設定できる可能性があります。

        このメソッドを呼び出して、要求されたすべての属性を正常に設定できたことを確認する例を次に示します。

         AttributeList inputAttrs = ...;
         AttributeList outputAttrs = mbeanServerConnection.setAttributes(objectName, inputAttrs);
         if (inputAttrs.size() == outputAttrs.size())
             System.out.println("All attributes were set successfully");
         else {
             List<String> missing = new ArrayList<String>();
             for (Attribute a : inputAttrs.asList())
                 missing.add(a.getName());
             for (Attribute a : outputAttrs.asList())
                 missing.remove(a.getName());
             System.out.println("Did not set: " + missing);
         }
         
        定義:
        setAttributes、インタフェース: MBeanServerConnection
        パラメータ:
        name - MBeanのオブジェクト名。このMBeanの属性が設定される。
        attributes - 属性のリスト。属性のリスト(設定される属性のIDと設定される値)。
        戻り値:
        設定された属性と新しい値のリスト。
        例外:
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。
        InstanceNotFoundException - 指定されたMBeanがMBeanサーバーに登録されていない場合。
        ReflectionException - Dynamic MBeanのgetAttributesメソッドの呼出し時に例外が発生した場合。
        関連項目:
        MBeanServerConnection.getAttributes(javax.management.ObjectName, java.lang.String[])
      • invoke

        Object invoke​(ObjectName name,
                      String operationName,
                      Object[] params,
                      String[] signature)
               throws InstanceNotFoundException,
                      MBeanException,
                      ReflectionException
        インタフェースからコピーされた説明: MBeanServerConnection

        MBean上でオペレーションを呼び出します。

        オーバーロードされる可能性があるオペレーションを区別するためにsignatureが必要であるため、可能な場合は、MBeanプロキシを介してさらに簡単にオペレーションを呼び出すことができます。 たとえば、次のようなStandard MBeanインタフェースが存在する場合を考えましょう。

         public interface FooMBean {
             public int countMatches(String[] patterns, boolean ignoreCase);
         }
         

        countMatchesオペレーションは次のようにして呼び出すことができます。

         String[] myPatterns = ...;
         int count = (Integer) mbeanServerConnection.invoke(
                 objectName,
                 "countMatches",
                 new Object[] {myPatterns, true},
                 new String[] {String[].class.getName(), boolean.class.getName()});
         

        または、次のようにプロキシを介して呼び出すこともできます。

         String[] myPatterns = ...;
         FooMBean fooProxy = JMX.newMBeanProxy(
                 mbeanServerConnection, objectName, FooMBean.class);
         int count = fooProxy.countMatches(myPatterns, true);
         
        定義:
        invoke、インタフェース: MBeanServerConnection
        パラメータ:
        name - メソッドの呼出しが行われるMBeanのオブジェクト名。
        operationName - 呼び出されるオペレーションの名前。
        params - オペレーションの呼出し時に設定されるパラメータを含む配列。
        signature - オペレーションのシグニチャを含む配列(Class.getName()から返される形式のクラス名の配列)。 クラス・オブジェクトのロードには、オペレーションを呼び出したMBeanをロードするときと同じクラス・ローダーが使用される。
        戻り値:
        オペレーションによって返されるオブジェクト。指定されたMBean上でオペレーションを呼び出した結果を表す。
        例外:
        InstanceNotFoundException - 指定されたMBeanがMBeanサーバーに登録されていない場合。
        MBeanException - MBeanの呼出しメソッドによってスローされる例外をラップする場合。
        ReflectionException - メソッドの呼出し時にスローされるjava.lang.Exceptionをラップする場合。
      • getDefaultDomain

        String getDefaultDomain​()
        インタフェースからコピーされた説明: MBeanServerConnection
        MBeanの指定に使用するデフォルトのドメインを返します。 ユーザーがドメイン名を指定しなかった場合、MBeanのObjectNameのドメイン部分には、デフォルトのドメイン名が入ります。
        定義:
        getDefaultDomain、インタフェース: MBeanServerConnection
        戻り値:
        デフォルトのドメイン。
      • getDomains

        String[] getDomains​()
        インタフェースからコピーされた説明: MBeanServerConnection

        MBeanが現在登録されているドメインのリストを返します。 返される配列内に文字列が含まれるのは、その文字列と等しいgetDomain()を持つObjectNameに1個以上のMBeanが登録されている場合だけです。 返される配列内の文字列の順序は未定義です。

        定義:
        getDomains、インタフェース: MBeanServerConnection
        戻り値:
        ドメインのリスト。
      • isInstanceOf

        boolean isInstanceOf​(ObjectName name,
                             String className)
                      throws InstanceNotFoundException
        インタフェースからコピーされた説明: MBeanServerConnection

        指定されたMBeanが指定されたクラスのインスタンスである場合はtrue、そうでない場合はfalseを返します。

        nameがMBeanを指定していない場合、このメソッドはInstanceNotFoundExceptionをスローします。

        それ以外の場合、
        Xはnameで指定されたMBean、
        LはXのClassLoader、
        NはXのMBeanInfo内のクラス名になります。

        NがclassNameと等しい場合、結果はtrueです。

        それ以外の場合、LがclassNameを正常にロードし、Xがこのクラスのインスタンスである場合、結果はtrueです。

        それ以外の場合、LがNとclassNameの両方を正常にロードし、最初のクラスから2番目のクラスを割り当てることができる場合、結果はtrueです。

        それ以外の場合、結果はfalseです。

        定義:
        isInstanceOf、インタフェース: MBeanServerConnection
        パラメータ:
        name - MBeanのObjectName
        className - クラスの名前。
        戻り値:
        上記の規則に従って、指定されたMBeanが指定されたクラスのインスタンスである場合はtrue、そうでない場合はfalse。
        例外:
        InstanceNotFoundException - 指定されたMBeanがMBeanサーバーに登録されていない場合。
        関連項目:
        Class.isInstance(java.lang.Object)
      • instantiate

        Object instantiate​(String className)
                    throws ReflectionException,
                           MBeanException

        MBeanサーバーのClass Loader Repository内に登録されたすべてのクラス・ローダーのリストを使って、オブジェクトをインスタンス化します。 オブジェクトのクラスは、publicコンストラクタを持っていなければいけません。 このメソッドは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBeanサーバーに登録されていません。

        このメソッドは、instantiate(className,(Object[]) null,(String[]) null)と同等です。

        パラメータ:
        className - インスタンス化するオブジェクトのクラス名。
        戻り値:
        新しくインスタンス化されたオブジェクト。
        例外:
        ReflectionException - オブジェクトのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。
        MBeanException - オブジェクトのコンストラクタが例外をスローした場合。
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullの場合。
      • instantiate

        Object instantiate​(String className,
                           ObjectName loaderName)
                    throws ReflectionException,
                           MBeanException,
                           InstanceNotFoundException

        ObjectNameで指定されたクラス・ローダーを使って、オブジェクトをインスタンス化します。 ローダー名がnullの場合、MBeanサーバーのロードに使用されたClassLoaderが使用されます。 オブジェクトのクラスは、publicコンストラクタを持っていなければいけません。 このメソッドは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBeanサーバーに登録されていません。

        このメソッドは、instantiate(className, loaderName,(Object[]) null,(String[]) null)と同等です。

        パラメータ:
        className - インスタンス化するMBeanのクラス名。
        loaderName - 使用するクラス・ローダーのオブジェクト名。
        戻り値:
        新しくインスタンス化されたオブジェクト。
        例外:
        ReflectionException - オブジェクトのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。
        MBeanException - オブジェクトのコンストラクタが例外をスローした場合。
        InstanceNotFoundException - 指定されたクラス・ローダーがMBeanServerに登録されていない場合。
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullの場合。
      • instantiate

        Object instantiate​(String className,
                           Object[] params,
                           String[] signature)
                    throws ReflectionException,
                           MBeanException

        MBeanサーバーのClass Loader Repository内に登録されたすべてのクラス・ローダーのリストを使って、オブジェクトをインスタンス化します。 オブジェクトのクラスは、publicコンストラクタを持っていなければいけません。 この呼出しは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBeanサーバーに登録されていません。

        パラメータ:
        className - インスタンス化するオブジェクトのクラス名。
        params - 呼び出されるコンストラクタのパラメータを含む配列。
        signature - 呼び出されるコンストラクタのシグニチャを含む配列。
        戻り値:
        新しくインスタンス化されたオブジェクト。
        例外:
        ReflectionException - オブジェクトのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。
        MBeanException - オブジェクトのコンストラクタが例外をスローした場合。
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullの場合。
      • instantiate

        Object instantiate​(String className,
                           ObjectName loaderName,
                           Object[] params,
                           String[] signature)
                    throws ReflectionException,
                           MBeanException,
                           InstanceNotFoundException

        オブジェクトをインスタンス化します。 使用するクラス・ローダーは、オブジェクト名で識別されます。 ローダーのオブジェクト名がnullの場合、MBeanサーバーのロードに使用したClassLoaderが使用されます。 オブジェクトのクラスは、publicコンストラクタを持っていなければいけません。 この呼出しは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBeanサーバーに登録されていません。

        パラメータ:
        className - インスタンス化するオブジェクトのクラス名。
        params - 呼び出されるコンストラクタのパラメータを含む配列。
        signature - 呼び出されるコンストラクタのシグニチャを含む配列。
        loaderName - 使用するクラス・ローダーのオブジェクト名。
        戻り値:
        新しくインスタンス化されたオブジェクト。
        例外:
        ReflectionException - オブジェクトのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。
        MBeanException - オブジェクトのコンストラクタが例外をスローした場合。
        InstanceNotFoundException - 指定されたクラス・ローダーがMBeanサーバーに登録されていない場合。
        RuntimeOperationsException - java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullの場合。
      • deserialize

        @Deprecated(since="1.5")
        default ObjectInputStream deserialize​(ObjectName name,
                                              byte[] data)
                                       throws InstanceNotFoundException,
                                              OperationsException
        非推奨。 getClassLoaderForを使って、直列化復元に使用する適切なクラス・ローダーを取得します。

        MBeanのクラス・ローダーのコンテキストで、バイト配列を直列化復元します。

        実装要件:
        このメソッドは、デフォルトでUnsupportedOperationExceptionをスローします。
        パラメータ:
        name - MBeanの名前。このMBeanのクラス・ローダーを使って、直列化復元が行われる。
        data - 直列化復元の対象となるバイト配列。
        戻り値:
        直列化復元されたオブジェクト・ストリーム。
        例外:
        InstanceNotFoundException - 指定されたMBeanが見つからない場合。
        OperationsException - 通常の入出力関連の例外が発生した場合。
      • deserialize

        @Deprecated(since="1.5")
        default ObjectInputStream deserialize​(String className,
                                              byte[] data)
                                       throws OperationsException,
                                              ReflectionException
        非推奨。 getClassLoaderRepository()を使ってクラス・ローダー・リポジトリを取得し、それを使って直列化復元を行います。

        指定されたMBeanクラス・ローダーのコンテキストで、バイト配列の直列化復元を行います。 クラス・ローダーを検索するには、Class Loader Repositoryを使ってclassNameクラスをロードします。 このクラスのクラス・ローダーが使用されます。

        実装要件:
        このメソッドは、デフォルトでUnsupportedOperationExceptionをスローします。
        パラメータ:
        className - クラスの名前。このクラスのクラス・ローダーを使って、直列化復元が行われる。
        data - 直列化復元の対象となるバイト配列。
        戻り値:
        直列化復元されたオブジェクト・ストリーム。
        例外:
        OperationsException - 通常の入出力関連の例外が発生した場合。
        ReflectionException - 指定されたクラスがクラス・ローダー・リポジトリにロードされない場合。
      • deserialize

        @Deprecated(since="1.5")
        default ObjectInputStream deserialize​(String className,
                                              ObjectName loaderName,
                                              byte[] data)
                                       throws InstanceNotFoundException,
                                              OperationsException,
                                              ReflectionException
        非推奨。 getClassLoaderを使って直列化復元用のクラス・ローダーを取得します。

        指定されたMBeanクラス・ローダーのコンテキストで、バイト配列の直列化復元を行います。 このクラス・ローダーは、classNameという名前でクラスをロードしたクラス・ローダーです。 指定されたクラスのロードに使用されたクラス・ローダーの名前が使用されます。 nullの場合、MBeanサーバーのクラス・ローダーが使用される。

        実装要件:
        このメソッドは、デフォルトでUnsupportedOperationExceptionをスローします。
        パラメータ:
        className - クラスの名前。このクラスのクラス・ローダーを使って、直列化復元が行われる。
        data - 直列化復元の対象となるバイト配列。
        loaderName - 指定されたクラスのロードに使用されるクラス・ローダーの名前。 nullの場合、MBeanサーバーのクラス・ローダーが使用される。
        戻り値:
        直列化復元されたオブジェクト・ストリーム。
        例外:
        InstanceNotFoundException - 指定されたクラス・ローダーMBeanが見つからない場合。
        OperationsException - 通常の入出力関連の例外が発生した場合。
        ReflectionException - 指定されたクラスが指定されたクラス・ローダーによってロードされない場合。
      • getClassLoaderFor

        ClassLoader getClassLoaderFor​(ObjectName mbeanName)
                               throws InstanceNotFoundException

        指定されたMBeanのクラスのロードに使用されたClassLoaderを返します。

        パラメータ:
        mbeanName - MBeanのObjectName。
        戻り値:
        このMBean用のClassLoader。 MBeanの実際のClassLoaderがlで、戻り値がrの場合、次のいずれかの条件が成立する。 つまり、ClassLoaderは、セキュリティまたはその他の理由でほかのClassLoaderにラップされる可能性があるということです。
        例外:
        InstanceNotFoundException - 指定されたMBeanが見つからない場合。
      • getClassLoader

        ClassLoader getClassLoader​(ObjectName loaderName)
                            throws InstanceNotFoundException

        指定されたClassLoaderを返します。

        パラメータ:
        loaderName - ClassLoaderのObjectName。 nullの場合、MBeanサーバー固有のClassLoaderが返される。
        戻り値:
        指定のClassLoader。 その名前の実際のClassLoaderがlで、戻り値がrの場合、次のいずれかの条件が成立する。 つまり、ClassLoaderは、セキュリティまたはその他の理由でほかのClassLoaderにラップされる可能性があるということです。
        例外:
        InstanceNotFoundException - 指定されたClassLoaderが見つからない場合。
      • getClassLoaderRepository

        ClassLoaderRepository getClassLoaderRepository​()

        このMBeanServerのClassLoaderRepositoryを返します。

        戻り値:
        このMBeanServerのClassLoaderRepository。