public abstract class JmxUtils extends ObjectSE
locateMBeanServer()
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | IDENTITY_OBJECT_NAME_KEY 既存の ObjectName SE を対応する管理対象リソースの ID ハッシュコードで拡張するときに使用されるキー。 |
コンストラクターと説明 |
---|
JmxUtils() |
修飾子と型 | メソッドと説明 |
---|---|
static ObjectNameSE | appendIdentityToObjectName(ObjectNameSE objectName, ObjectSE managedResource) 追加のキーと値のペアを既存の ObjectName SE に追加します。キーは静的値 identity で、値は提供された ObjectName SE で公開されている管理対象リソースの ID ハッシュコードです。 |
static StringSE | getAttributeName(PropertyDescriptorSE property, boolean useStrictCasing) 指定された JavaBeans プロパティに使用する JMX 属性名を返します。 |
static ClassSE<?> | getClassToExpose(ClassSE<?> clazz) 指定された Bean クラスに公開するクラスまたはインターフェースを返します。 |
static ClassSE<?> | getClassToExpose(ObjectSE managedBean) 指定された Bean に公開するクラスまたはインターフェースを返します。 |
static ClassSE<?> | getMBeanInterface(ClassSE<?> clazz) 指定されたクラスの標準 MBean インターフェースがあればそれを返します(つまり、名前が指定されたクラスのクラス名と一致するが、接尾辞が "MBean" のインターフェース)。 |
static StringSE[] | getMethodSignature(MethodSE method) メソッドの引数シグニチャーを表す String[] を作成します。 |
static ClassSE<?> | getMXBeanInterface(ClassSE<?> clazz) 指定されたクラスに Java 6 MXBean インターフェースが存在する場合は、それが存在する場合(つまり、名前が "MXBean" で終わるか、適切な MXBean アノテーションを持っているインターフェース)を返します。 |
static boolean | isMBean(ClassSE<?> clazz) 指定された Bean クラスがそのまま MBean として適格かどうかを判断します。 |
static MBeanServerSE | locateMBeanServer() ローカルで実行中の MBeanServer を見つけようとします。 |
static MBeanServerSE | locateMBeanServer(StringSE agentId) ローカルで実行中の MBeanServer を見つけようとします。 |
static ClassSE<?>[] | parameterInfoToTypes(MBeanParameterInfoSE[] paramInfo) MBeanParameterInfo の配列を、パラメーターに対応する Class インスタンスの配列に変換します。 |
static ClassSE<?>[] | parameterInfoToTypes(MBeanParameterInfoSE[] paramInfo, ClassLoaderSE classLoader) MBeanParameterInfo の配列を、パラメーターに対応する Class インスタンスの配列に変換します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final StringSE IDENTITY_OBJECT_NAME_KEY
ObjectName
SE を対応する管理対象リソースの ID ハッシュコードで拡張するときに使用されるキー。public static MBeanServerSE locateMBeanServer() throws MBeanServerNotFoundException
MBeanServer
を見つけようとします。MBeanServer
が見つからない場合は失敗します。複数の MBeanServer
が見つかった場合は警告をログに記録し、リストから最初の MBeanServer
を返します。MBeanServer
が見つかった場合 MBeanServerNotFoundException
- MBeanServer
が見つからなかった場合 MBeanServerFactory.findMBeanServer(java.lang.String)
SEpublic static MBeanServerSE locateMBeanServer(@Nullable StringSE agentId) throws MBeanServerNotFoundException
MBeanServer
を見つけようとします。MBeanServer
が見つからない場合は失敗します。複数の MBeanServer
が見つかった場合は警告をログに記録し、リストから最初の MBeanServer
を返します。agentId
- 取得する MBeanServer のエージェント識別子。このパラメーターが null
の場合、登録されているすべての MBeanServer が考慮されます。空の文字列が指定された場合、プラットフォーム MBeanServer が返されます。MBeanServer
が見つかった場合 MBeanServerNotFoundException
- MBeanServer
が見つからなかった場合 MBeanServerFactory.findMBeanServer(String)
SE@Nullable public static ClassSE<?>[] parameterInfoToTypes(@Nullable MBeanParameterInfoSE[] paramInfo) throws ClassNotFoundExceptionSE
MBeanParameterInfo
の配列を、パラメーターに対応する Class
インスタンスの配列に変換します。paramInfo
- JMX パラメーター情報 ClassNotFoundExceptionSE
- パラメーター型を解決できなかった場合 @Nullable public static ClassSE<?>[] parameterInfoToTypes(@Nullable MBeanParameterInfoSE[] paramInfo, @Nullable ClassLoaderSE classLoader) throws ClassNotFoundExceptionSE
MBeanParameterInfo
の配列を、パラメーターに対応する Class
インスタンスの配列に変換します。paramInfo
- JMX パラメーター情報 classLoader
- パラメーター型のロードに使用する ClassLoaderClassNotFoundExceptionSE
- パラメーター型を解決できなかった場合 public static StringSE[] getMethodSignature(MethodSE method)
String[]
を作成します。配列の各要素は、メソッドシグネチャーの対応する引数の完全修飾クラス名です。method
- 引数の署名を作成するメソッド public static StringSE getAttributeName(PropertyDescriptorSE property, boolean useStrictCasing)
厳密な大文字小文字を使用する場合、getFoo()
などの getter メソッドを使用した JavaBean プロパティは、Foo
と呼ばれる属性に変換されます。厳密な大文字小文字の区別を無効にすると、getFoo()
は foo
だけに変換されます。
property
- JavaBeans プロパティ記述子 useStrictCasing
- 厳密なケーシングを使用するかどうか public static ObjectNameSE appendIdentityToObjectName(ObjectNameSE objectName, ObjectSE managedResource) throws MalformedObjectNameExceptionSE
ObjectName
SE に追加します。キーは静的値 identity
で、値は提供された ObjectName
SE で公開されている管理対象リソースの ID ハッシュコードです。これを使用して、特定の Bean またはクラスの個別のインスタンスごとに一意の ObjectName
SE を提供できます。ObjectNamingStrategy
によって提供されるテンプレート値に基づいて、一連の管理対象リソースの実行時に ObjectNames
SE を生成するときに役立ちます。objectName
- オリジナルの JMX ObjectNamemanagedResource
- MBean インスタンス MalformedObjectNameExceptionSE
- オブジェクト名の指定が無効な場合 ObjectUtils.getIdentityHexString(Object)
public static ClassSE<?> getClassToExpose(ObjectSE managedBean)
この実装は、CGLIB プロキシのスーパークラスと指定された Bean のクラスを返します(JDK プロキシまたはプレーン Bean クラスの場合)。
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)ClassUtils.getUserClass(Object)
public static ClassSE<?> getClassToExpose(ClassSE<?> clazz)
この実装は、CGLIB プロキシのスーパークラスと指定された Bean のクラスを返します(JDK プロキシまたはプレーン Bean クラスの場合)。
clazz
- Bean クラス (AOP プロキシクラスの可能性があります)ClassUtils.getUserClass(Class)
public static boolean isMBean(@Nullable ClassSE<?> clazz)
この実装は、DynamicMBean
SE クラスと、対応する "* MBean" インターフェース(標準 MBean)または対応する "* MXBean" インターフェース(Java 6 MXBean)を持つクラスをチェックします。
clazz
- 分析する Bean クラス MBeanExporter.isMBean(Class)
@Nullable public static ClassSE<?> getMBeanInterface(@Nullable ClassSE<?> clazz)
clazz
- チェックするクラス