public interface ModelMBeanInfo
管理対象になる Java リソースは、MBeanServer の createMBean メソッドを使って、ModelMBean をインスタンス化します。次に、ModelMBean インスタンスの ModelMBeanInfo と Descriptor を設定します。ModelMBean の ModelMBeanInfo で公開された属性、オペレーション、および通知は管理インタフェースを構成します。 これらには、MBean、コネクタ、アダプタからアクセスできます。Descriptor を使って、管理対象アプリケーション内の値とメソッドを定義し、ModelMBean の属性およびオペレーションにマップすることができます。このマッピングは、ファイルを使った開発時、または実行時にプログラムを使って動的に定義できます。
MBeanServer でインスタンス化された MBean はすべて管理対象となります。これらの MBean の属性、オペレーション、および通知には、MBeanServer に接続されたコネクタまたはアダプタ経由でリモートアクセスできます。JMX 準拠の MBean でない Java オブジェクトは、MBeanServer に登録できません。リソースは、ModelMBean をインスタンス化することにより、MBean の有効性を保証します。 すべての public メソッドで、MBeanException および RuntimeOperationsException がスローされる必要があります。これにより、分散型通信 (RMI、EJB など) からの例外のラップが可能になります。
修飾子と型 | メソッドと説明 |
---|---|
Object |
clone()
このオブジェクトのコピーを作成して、返します。
|
ModelMBeanAttributeInfo |
getAttribute(String inName)
名前で要求された ModelMBeanAttributeInfo を返します。
|
MBeanAttributeInfo[] |
getAttributes()
管理用に公開された属性のリストを返します。
|
String |
getClassName()
この
MBeanInfo によって記述された MBean の Java クラスの名前を返します。 |
MBeanConstructorInfo[] |
getConstructors()
MBean の public コンストラクタのリストを返します。
|
String |
getDescription()
人間が読める形式の MBean の説明を返します。
|
Descriptor |
getDescriptor(String inDescriptorName, String inDescriptorType)
名前と descriptorType で要求された Descriptor を返します。
|
Descriptor[] |
getDescriptors(String inDescriptorType)
inDescriptorType 型の ModelMBeanInfo のすべての Descriptor で構成される Descriptor 配列を返します。
|
Descriptor |
getMBeanDescriptor()
MBean 全体ポリシーを含む ModelMBean の記述子を返します。
|
ModelMBeanNotificationInfo |
getNotification(String inName)
名前で要求された ModelMBeanNotificationInfo を返します。
|
MBeanNotificationInfo[] |
getNotifications()
MBean によって発行された通知のリストを返します。
|
ModelMBeanOperationInfo |
getOperation(String inName)
名前で要求された ModelMBeanOperationInfo を返します。
|
MBeanOperationInfo[] |
getOperations()
MBean のオペレーションのリストを返します。
|
void |
setDescriptor(Descriptor inDescriptor, String inDescriptorType)
ModelMBean の inDescriptorType 型の情報配列内に記述子を設定します。
|
void |
setDescriptors(Descriptor[] inDescriptors)
ModelMBeanInfo に記述子を追加するか、ModelMBeanInfo 内の記述子を置き換えます。
|
void |
setMBeanDescriptor(Descriptor inDescriptor)
ModelMBean の記述子を設定します。
|
Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
inDescriptorType
- 返される記述子に対して設定する必要がある descriptorType フィールドの値。mbean、attribute、operation、constructor、notification のいずれか。null または空の場合、すべての型が返される。MBeanException
- 分散通信 Exception をラップする。RuntimeOperationsException
- パラメータとして渡された descriptorType が次のいずれでもない場合、IllegalArgumentException をラップする。mbean、attribute、operation、constructor、notification、空の場合、または null の場合。setDescriptors(javax.management.Descriptor[])
void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException
inDescriptors
- ModelMBeanInfo 内に設定される記述子。リストの null 要素は無視される。すべての記述子が name および descriptorType フィールドを持っている必要がある。RuntimeOperationsException
- 記述子が null または不正な場合、IllegalArgumentException をラップする。MBeanException
- 分散通信 Exception をラップする。getDescriptors(java.lang.String)
Descriptor getDescriptor(String inDescriptorName, String inDescriptorType) throws MBeanException, RuntimeOperationsException
inDescriptorName
- 記述子の名前。inDescriptorType
- 要求される記述子の型。null または空の場合、すべての型が検索される。有効な型は、mbean、attribute、constructor、operation、および notification。この値は、返される記述子の descriptorType フィールドと等しくなる。MBeanException
- 分散通信 Exception をラップする。RuntimeOperationsException
- 記述子名が null であるか、型が null または不正な場合、IllegalArgumentException をラップする。型は、mbean、attribute、constructor、operation、notification のいずれかでなければならない。setDescriptor(javax.management.Descriptor, java.lang.String)
void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException
inDescriptor
- ModelMBean 内に設定される記述子。null 以外でなければならない。すべての記述子が name および descriptorType フィールドを持っている必要がある。inDescriptorType
- 設定される記述子の型。null の場合、記述子の descriptorType フィールドが使用される。指定されている場合、この値が記述子の descriptorType フィールドに設定されなければならない。mbean、attribute、constructor、operation、notification のいずれか。RuntimeOperationsException
- 引数が不正または null である場合、または対応する MBeanAttributeInfo、MBeanConstructorInfo、MBeanNotificationInfo、MBeanOperationInfo のいずれかで記述子の name フィールドが見つからない場合、IllegalArgumentException をラップする。MBeanException
- 分散通信 Exception をラップする。getDescriptor(java.lang.String, java.lang.String)
Descriptor getMBeanDescriptor() throws MBeanException, RuntimeOperationsException
MBean 全体ポリシーを含む ModelMBean の記述子を返します。この記述子には、MBean のメタデータと永続性機能およびキャッシング機能のデフォルトポリシーが含まれます。
記述子内のフィールドは次のように定義済みですが、この内容に限定されません。この表で型が Number である場合は、Long の 10 進数表現である String を使用することもできます。
名前 | 型 | 意味 |
---|---|---|
name | String | MBean 名。 |
descriptorType | String | 必ず mbean。 |
displayName | String | ディスプレイで使用される MBean の名前。 |
persistPolicy | String | 次のどれか:OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never。JMX 仕様ドキュメントの「MBean Descriptor Fields」を参照。 |
persistLocation | String | 完全修飾ディレクトリ名。MBean は、必要に応じてこのディレクトリに保持される。 |
persistFile | String | MBean を保持するファイルの名前。 |
persistPeriod | Number | OnTime および NoMoreOftenThan PersistPolicy の永続サイクルの頻度 (秒単位) |
currencyTimeLimit | Number | キャッシュ値の有効期間。<0 無効、=0 常に有効、>0 秒。 |
log | String | t: t の場合はすべての通知をログに記録、f の場合は通知を記録しない。 |
logfile | String | イベントの記録先ファイルの完全修飾ファイル名。 |
visibility | Number | 1 - 4 の値のうち 1:常に可視 4:ほとんど不可視。 |
export | String | この MBean をほかの JMX エージェントにエクスポートまたは公開するとき使用する名前。 |
presentationString | String | データ表現と MBean を関連付けるための XML 形式の文字列。 |
デフォルトの記述子は、name=className,descriptorType="mbean", displayName=className, persistPolicy="never",log="F",visibility="1" です。記述子にこれらのいずれかのフィールドが不足している場合、不足しているフィールドがデフォルト値で追加されます。
注:以前のバージョンの仕様との不整合があるため、currencyTimeLimit
にはゼロ以下の値を使用しないようにしてください。キャッシュに入った値が有効でないことを示す場合は、currencyTimeLimit
フィールドを省略します。この値が常に有効であることを示す場合は、このフィールドに非常に大きい値を指定します。
MBeanException
- 分散通信 Exception をラップする。RuntimeOperationsException
- 記述子の取得時に RuntimeException
が発生した場合。setMBeanDescriptor(javax.management.Descriptor)
void setMBeanDescriptor(Descriptor inDescriptor) throws MBeanException, RuntimeOperationsException
getMBeanDescriptor
メソッドの javadoc を参照してください。inDescriptor
- 設定する記述子。MBeanException
- 分散通信 Exception をラップする。RuntimeOperationsException
- 記述子が無効な場合、IllegalArgumentException をラップする。getMBeanDescriptor()
ModelMBeanAttributeInfo getAttribute(String inName) throws MBeanException, RuntimeOperationsException
inName
- 取得する ModelMBeanAttributeInfo の名前。この名前の ModelMBeanAttributeInfo が存在しない場合は null が返される。MBeanException
- 分散通信 Exception をラップする。RuntimeOperationsException
- 属性名が null の場合、IllegalArgumentException をラップする。ModelMBeanOperationInfo getOperation(String inName) throws MBeanException, RuntimeOperationsException
inName
- 取得する ModelMBeanOperationInfo の名前。この名前の ModelMBeanOperationInfo が存在しない場合は null が返される。MBeanException
- 分散通信 Exception をラップする。RuntimeOperationsException
- オペレーション名が null の場合 IllegalArgumentException をラップする。ModelMBeanNotificationInfo getNotification(String inName) throws MBeanException, RuntimeOperationsException
inName
- 取得する ModelMBeanNotificationInfo の名前。この名前の ModelMBeanNotificationInfo が存在しない場合は null が返される。MBeanException
- 分散通信 Exception をラップする。RuntimeOperationsException
- 通知名が null の場合 IllegalArgumentException をラップする。Object clone()
MBeanAttributeInfo[] getAttributes()
MBeanAttributeInfo
オブジェクトによって記述されます。MBeanAttributeInfo
オブジェクトの配列。String getClassName()
MBeanInfo
によって記述された MBean の Java クラスの名前を返します。MBeanConstructorInfo[] getConstructors()
MBeanConstructorInfo
オブジェクトによって記述されます。MBeanConstructorInfo
オブジェクトの配列。String getDescription()
MBeanNotificationInfo[] getNotifications()
MBeanNotificationInfo
オブジェクトによって記述されます。
ModelMBean は、アプリケーションによって指定された通知のほかに、常に 2 つの追加通知を送信できます。
MBeanNotificationInfo
オブジェクトの配列。MBeanOperationInfo[] getOperations()
MBeanOperationInfo
オブジェクトによって記述されます。MBeanOperationInfo
オブジェクトの配列。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.