public abstract class AbstractMBeanInfoAssembler extends java.lang.Object implements MBeanInfoAssembler
ModelMBeanInfo
インスタンスの作成をカプセル化するが、メタデータの作成をサブクラスに委譲する MBeanInfoAssembler
インターフェースの抽象実装。 このクラスは、マネージド Bean インスタンスからの 2 種類のクラス抽出を提供します。getTargetClass(java.lang.Object)
は、あらゆる種類の AOP プロキシの背後にあるターゲットクラスを抽出し、getClassToExpose(java.lang.Object)
は、アノテーションを検索して JMX ランタイムに公開されるクラスまたはインターフェースを返します。
コンストラクターと説明 |
---|
AbstractMBeanInfoAssembler() |
修飾子と型 | メソッドと説明 |
---|---|
protected void | checkManagedBean(java.lang.Object managedBean) 指定された Bean インスタンスを確認し、このアセンブラで公開できない場合は IllegalArgumentException をスローします。 |
protected abstract javax.management.modelmbean.ModelMBeanAttributeInfo[] | getAttributeInfo(java.lang.Object managedBean, java.lang.String beanKey) MBean リソースの属性メタデータを取得します。 |
protected java.lang.String | getClassName(java.lang.Object managedBean, java.lang.String beanKey) MBean リソースのクラス名を取得します。 |
protected java.lang.Class<?> | getClassToExpose(java.lang.Class<?> beanClass) 指定された Bean クラスに公開するクラスまたはインターフェースを返します。 |
protected java.lang.Class<?> | getClassToExpose(java.lang.Object managedBean) 指定された Bean に公開するクラスまたはインターフェースを返します。 |
protected javax.management.modelmbean.ModelMBeanConstructorInfo[] | getConstructorInfo(java.lang.Object managedBean, java.lang.String beanKey) MBean リソースのコンストラクターメタデータを取得します。 |
protected java.lang.String | getDescription(java.lang.Object managedBean, java.lang.String beanKey) MBean リソースの説明を取得します。 |
javax.management.modelmbean.ModelMBeanInfo | getMBeanInfo(java.lang.Object managedBean, java.lang.String beanKey) すべての JMX 実装で提供される ModelMBeanInfoSupport クラスのインスタンスを作成し、サブクラスへの呼び出しを通じてメタデータを設定します。 |
protected javax.management.modelmbean.ModelMBeanNotificationInfo[] | getNotificationInfo(java.lang.Object managedBean, java.lang.String beanKey) MBean リソースの通知メタデータを取得します。 |
protected abstract javax.management.modelmbean.ModelMBeanOperationInfo[] | getOperationInfo(java.lang.Object managedBean, java.lang.String beanKey) MBean リソースの操作メタデータを取得します。 |
protected java.lang.Class<?> | getTargetClass(java.lang.Object managedBean) 指定された Bean インスタンスの実際の Bean クラスを返します。 |
protected void | populateMBeanDescriptor(javax.management.Descriptor descriptor, java.lang.Object managedBean, java.lang.String beanKey) ModelMBeanInfo インスタンスが構築された後、それが MBeanExporter に渡される前に呼び出されます。 |
public javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
ModelMBeanInfoSupport
クラスのインスタンスを作成し、サブクラスへの呼び出しを通じてメタデータを設定します。MBeanInfoAssembler
の getMBeanInfo
managedBean
- 公開される Bean (AOP プロキシである可能性があります)beanKey
- 管理された Bean に関連付けられたキー javax.management.JMException
- エラーの場合 getDescription(Object, String)
, getAttributeInfo(Object, String)
, getConstructorInfo(Object, String)
, getOperationInfo(Object, String)
, getNotificationInfo(Object, String)
, populateMBeanDescriptor(javax.management.Descriptor, Object, String)
protected void checkManagedBean(java.lang.Object managedBean) throws java.lang.IllegalArgumentException
デフォルトの実装は空で、すべての Bean インスタンスを受け入れます。
managedBean
- 公開される Bean (AOP プロキシである可能性があります)java.lang.IllegalArgumentException
- Bean は露出には無効です protected java.lang.Class<?> getTargetClass(java.lang.Object managedBean)
デフォルトの実装では、AOP プロキシのターゲットクラスを返し、その他のプレーンな Bean クラスを返します。
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)AopUtils.getTargetClass(Object)
protected java.lang.Class<?> getClassToExpose(java.lang.Object managedBean)
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)JmxUtils.getClassToExpose(Object)
protected java.lang.Class<?> getClassToExpose(java.lang.Class<?> beanClass)
beanClass
- Bean クラス (AOP プロキシクラスの可能性があります)JmxUtils.getClassToExpose(Class)
protected java.lang.String getClassName(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
デフォルトの実装は、クラス名に基づいて MBean の簡単な説明を返します。
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)beanKey
- MBeanExporter
の Bean マップで MBean に関連付けられているキー javax.management.JMException
- エラーの場合 protected java.lang.String getDescription(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
デフォルトの実装は、クラス名に基づいて MBean の簡単な説明を返します。
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)beanKey
- MBeanExporter
の Bean マップで MBean に関連付けられているキー javax.management.JMException
- エラーの場合 protected void populateMBeanDescriptor(javax.management.Descriptor descriptor, java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
ModelMBeanInfo
インスタンスが構築された後、それが MBeanExporter
に渡される前に呼び出されます。サブクラスはこのメソッドを実装して、MBean メタデータに記述子を追加できます。デフォルトの実装は空です。
descriptor
- MBean リソースの Descriptor
。managedBean
- Bean インスタンス (AOP プロキシである可能性があります)beanKey
- MBeanExporter
の Bean マップで MBean に関連付けられているキー javax.management.JMException
- エラーの場合 protected javax.management.modelmbean.ModelMBeanConstructorInfo[] getConstructorInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
デフォルトの実装は、ModelMBeanConstructorInfo
の空の配列を返します。
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)beanKey
- MBeanExporter
の Bean マップで MBean に関連付けられているキー javax.management.JMException
- エラーの場合 protected javax.management.modelmbean.ModelMBeanNotificationInfo[] getNotificationInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
デフォルトの実装は、ModelMBeanNotificationInfo
の空の配列を返します。
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)beanKey
- MBeanExporter
の Bean マップで MBean に関連付けられているキー javax.management.JMException
- エラーの場合 protected abstract javax.management.modelmbean.ModelMBeanAttributeInfo[] getAttributeInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)beanKey
- MBeanExporter
の Bean マップで MBean に関連付けられているキー javax.management.JMException
- エラーの場合 protected abstract javax.management.modelmbean.ModelMBeanOperationInfo[] getOperationInfo(java.lang.Object managedBean, java.lang.String beanKey) throws javax.management.JMException
managedBean
- Bean インスタンス (AOP プロキシである可能性があります)beanKey
- MBeanExporter
の Bean マップで MBean に関連付けられているキー javax.management.JMException
- エラーの場合