Oracle® Fusion Middleware Oracle WebLogic Server セキュリティ プロバイダの開発 11g リリース 1 (10.3.1) B55527-01 |
|
戻る |
MBean 定義ファイル (MDF) は WebLogic MBeanMaker ユーティリティへの入力ファイルです。WebLogic MBeanMaker ユーティリティは、このファイルを使用してカスタム セキュリティ プロバイダを管理するための MBean タイプを作成します。MDF は、単一の MBean タイプを記述する有効な整形式 XML ファイルとしてフォーマットされる必要があります。以下の節では、有効な MDF で使用可能なすべての要素と属性について説明します。
すべての MDF には MBeanType
というルート要素が 1 つ含まれていなければなりません。この要素の構文は次のとおりです。
<MBeanType Name= string optional_attributes> subelements </MBeanType>
MBeanType
要素は、MBean タイプのプログラム上の内部的な名前を指定する Name 属性を含む必要があります。(ユーザ インタフェース内に表示される名前を指定するには、DisplayName 属性を使用します)。他の属性は省略可能です。
以下の例は、MBeanType
(ルート) 要素を簡略化して示したものです。
<MBeanType Name="MyMBean" Package="com.mycompany"> <MBeanAttribute Name="MyAttr" Type="java.lang.String" Default="Hello World"/> </MBeanType>
MBeanType
(ルート) 要素内に指定されている属性は、その MBean タイプからインスタンス化されるすべての MBean に適用されます。特定の MBean インスタンスの属性をオーバーライドするには、MBeanAttribute
下位要素で属性を指定する必要があります。詳細については、「MBeanAttribute 下位要素」を参照してください。
表 A-1 では、MBeanType
(ルート) 要素で使用可能な属性について説明します。「JMX 仕様/Oracle 拡張機能」カラムは、当該属性が JMX 仕様に対する Oracle 拡張機能なのか、それとも JMX の標準属性なのかを示します。なお、Oracle 拡張機能は他の Java EE Web サーバ上では動作しない場合があることに注意してください。
表 A-1 MBeanType (ルート) 要素の属性
属性 | JMX 仕様/Oracle 拡張機能 | 指定可能な値 | 説明 |
---|---|---|---|
|
Oracle 拡張機能 |
|
値が |
|
Oracle 拡張機能 |
|
当該 MBean タイプが非推奨扱いになっていることを示す。この情報は生成された Java ソースに表示されると共に、管理アプリケーションでの使用を想定して |
|
JMX 仕様 |
String 型 |
当該 MBean タイプに関連付けられる任意の文字列で、生成されたクラスの Javadoc など、さまざまな場所に現れる。デフォルト値または仮定される値はない。 注意 : ユーザ インタフェース内に表示される説明を指定するには、DisplayName 属性を使用する。 |
|
JMX 仕様 |
String 型 |
ユーザ インタフェースに表示される MBean タイプのインスタンス識別用の名前。タイプ X のインスタンスの場合、デフォルト |
|
Oracle 拡張機能 |
パス名 |
この MBean タイプが拡張する完全修飾 MBean タイプ名。 |
|
Oracle 拡張機能 |
カンマで区切っ たリスト
|
この MBean タイプを実装する完全修飾 MBean タイプ名からなるカンマ区切りリスト。 「Extends」も参照。 |
|
JMX 仕様 |
String 型 |
当該 MBean タイプのプログラム上の内部的な名前を指定する必須属性。 |
|
Oracle 拡張機能 |
String 型 |
当該 MBean タイプのパッケージ名を指定し、WebLogic MBeanMaker によって作成されるクラス ファイルの場所を決定する。この属性を指定しない場合には、MBean タイプは Java デフォルト パッケージに格納される。 注意 : パッケージ名が異なっている限り、MBean タイプ名は同じ名前でもかまわない。 |
|
JMX 仕様 |
|
永続化がどのように行われるかを、以下のいずれかで指定する。
注意 : MBeanType 要素内で指定された場合、この属性値は、個々の MBeanAttribute 下位要素内のあらゆる設定をオーバーライドする。 |
MBean タイプ内の属性ごとに、MBeanAttribute
下位要素のインスタンスを 1 つ記述する必要があります。MBeanAttribute
下位要素の形式は次のとおりとします。
<MBeanAttribute Name=string optional_attributes />
MBeanAttribute
下位要素は、MBean タイプの Java 属性のプログラム上の内部的な名前を指定する Name 属性を含む必要があります。(ユーザ インタフェース内に表示される名前を指定するには、DisplayName 属性を使用します)。他の属性は省略可能です。
以下の例は、MBeanType
要素内の MBeanAttribute
下位要素を簡略化して示したものです。
<MBeanType Name="MyMBean" Package="com.mycompany"> <MBeanAttribute Name= "WhenToCache" Type="java.lang.String" LegalValues="'cache-on-reference','cache-at-initialization','cache-never'" Default= "cache-on-reference" /> </MBeanType>
MBeanAttribute
下位要素内に指定されている属性は、特定の MBean インスタンスに適用されます。ある MBean タイプからインスタンス化されるすべての MBean の属性を設定するには、MBeanType
(ルート) 要素内に属性を指定する必要があります。詳細については、「MBeanType (ルート) 要素」を参照してください。
表 A-2 では、MBeanAttribute
下位要素で使用可能な属性について説明します。「JMX 仕様/Oracle 拡張機能」カラムは、当該属性が JMX 仕様に対する Oracle 拡張機能なのかどうかを示します。なお、Oracle 拡張機能は他の Java EE Web サーバ上では動作しない場合があることに注意してください。
表 A-2 MBeanAttribute 下位要素の属性
属性 | JMX 仕様/Oracle 拡張機能 | 指定可能な値 | 説明 |
---|---|---|---|
|
JMX 仕様 |
String 型 |
この属性を指定しない場合、値は |
|
Oracle 拡張機能 |
|
当該 MBean 属性が非推奨扱いになっていることを示す。この情報は生成された Java ソースに表示されると共に、管理アプリケーションでの使用を想定して |
|
JMX 仕様 |
String 型 |
当該 MBean 属性に関連付けられる任意の文字列で、生成されたクラスの Javadoc など、さまざまな場所に現れる。デフォルト値または仮定される値はない。 注意 : ユーザ インタフェース内に表示される説明を指定するには、DisplayName 属性を使用する。 |
|
Oracle 拡張機能 |
true または false |
動的 MBean に対する変更が、サーバを再起動しなくても有効になる。デフォルトでは、すべてのカスタム セキュリティ プロバイダ MBean 属性は動的ではない。 8.1 および 7.0 では、すべてのカスタム セキュリティ プロバイダ MBean 属性は動的。 |
|
Oracle 拡張機能 |
|
値が |
|
Oracle 拡張機能 |
String 型 |
WebLogic MBeanMaker で生成される MBean インタフェースの代わりに使用すべきインタフェースのクラス名。
「Type」が |
|
JMX 仕様 |
|
生成される Java インタフェースで MBean 属性のブール値にアクセスするのに ( |
|
Oracle 拡張機能 |
|
現在の |
|
Oracle 拡張機能 |
カンマで区切っ たリスト |
現在の 注意 : このリスト内の要素は、下位要素の |
|
Oracle 拡張機能 |
Integer 型 |
数値型の MBean 属性タイプに限り、属性の最大値 (その値を含む) を表す数値を指定する。この属性を指定しない場合には、値はデータ型の許容最大値まで可能。 |
|
Oracle 拡張機能 |
Integer 型 |
数値型の MBean 属性タイプに限り、属性の最小値 (その値を含む) を表す数値を指定する。この属性を指定しない場合には、値はデータ型の許容最小値まで可能。 |
|
JMX 仕様 |
String 型 |
当該 MBean 属性のプログラム上の内部的な名前を指定する必須属性。 |
|
JMX 仕様 |
|
この属性のデータ型の完全修飾クラス名。これに対応するクラスがクラスパスに存在していなければならない。この属性を指定しない場合、値は
|
|
JMX 仕様 |
|
値が
|
MBeanConstructor
下位要素は現在のところ、WebLogic MBeanMaker では使用されておらず、Java Management eXtensions 1.0 仕様 (http://jcp.org/aboutJava/communityprocess/final/jsr003/index.html
) に準拠し、上位互換性を保つためにサポートされているだけです。したがって、ここでは、MBeanConstructor
下位要素 (およびそれに関連する MBeanConstructorArg
下位要素) の属性の詳細については説明を省略します。
MBean タイプでサポートされている操作 (メソッド) ごとに、MBeanOperation
下位要素のインスタンスを 1 つ記述する必要があります。MBeanOperation
の形式は次のとおりとします。
<MBeanOperation Name=string optional_attributes > <MBeanOperationArg Name=string optional_attributes /> </MBeanOperation>
MBeanOperation
下位要素は、その操作のプログラム上の内部的な名前を指定する Name 属性を含む必要があります。(ユーザ インタフェース内に表示される名前を指定するには、DisplayName 属性を使用します)。他の属性は省略可能です。
MBeanOperation
要素内には、その操作 (メソッド) で使用される引数ごとに MBeanOperationArg
下位要素のインスタンスを 1 つ記述する必要があります。MBeanOperationArg
の形式は次のとおりとします。
<MBeanOperationArg Name=
string optional_attributes />
Name
属性には操作の名前を指定する必要があります。MBeanOperationArg
のオプション属性は Type
だけで、これは、特定タイプの Java 属性の動作を指定する Java クラス名を与えるものです。この属性を指定しない場合、値は java.lang.String
と見なされます。
次の例は、MBeanType
要素内の MBeanOperation
下位要素と MBeanOperationArg
下位要素を簡略化して示したものです。
<MBeanType Name="MyMBean" Package="com.mycompany"> <MBeanOperation Name= "findParserSelectMBeanByKey" ReturnType="XMLParserSelectRegistryEntryMBean" Description="Given a public ID, system ID, or root element tag, returns the object name of the corresponding XMLParserSelectRegistryEntryMBean." > <MBeanOperationArg Name="publicID" Type="java.lang.String"/> <MBeanOperationArg Name="systemID" Type="java.lang.String"/> <MBeanOperationArg Name="rootTag" Type="java.lang.String"/> </MBeanOperation> </MBeanType>
表 A-3 では、MBeanOperation
下位要素で使用可能な属性について説明します。「JMX 仕様/Oracle 拡張機能」カラムは、当該属性が JMX 仕様に対する Oracle 拡張機能なのかどうかを示します。なお、Oracle 拡張機能は他の Java EE Web サーバ上では動作しない場合があることに注意してください。
表 A-3 MBeanOperation 下位要素の属性
属性 | JMX 仕様/Oracle 拡張機能 | 指定可能な値 | 説明 |
---|---|---|---|
|
Oracle 拡張機能 |
|
当該 MBean 操作が非推奨扱いになっていることを示す。この情報は生成された Java ソースに表示されると共に、管理アプリケーションでの使用を想定して |
|
JMX 仕様 |
String 型 |
当該 MBean 操作に関連付けられる任意の文字列で、生成されたクラスの Javadoc など、さまざまな場所に現れる。デフォルト値または仮定される値はない。 注意 : ユーザ インタフェース内に表示される説明を指定するには、DisplayName 属性を使用する。 |
|
JMX 仕様 |
String 型 |
当該 MBean 操作のプログラム上の内部的な名前を指定する必須属性。 |
|
JMX 仕様 |
String 型 |
当該操作から返される Java オブジェクトの完全修飾クラス名を表す文字列。
|
表 A-4 では、MBeanOperationArg
下位要素で使用可能な属性について説明します。「JMX 仕様/Oracle 拡張機能」カラムは、当該属性が JMX 仕様に対する Oracle 拡張機能なのかどうかを示します。なお、Oracle 拡張機能は他の Java EE Web サーバ上では動作しない場合があることに注意してください。
表 A-4 MBeanOperationArg 下位要素の属性
属性 | JMX 仕様/Oracle 拡張機能 | 指定可能な値 | 説明 |
---|---|---|---|
|
JMX 仕様 |
String 型 |
当該 MBean 操作の引数に関連付けられる任意の文字列で、生成されたクラスの Javadoc など、さまざまな場所に現れる。デフォルト値または仮定される値はない。 |
|
JMX 仕様 |
String 型 |
当該引数の名前を指定する必須属性。 |
|
JMX 仕様 |
String 型 |
当該 MBean 操作の引数のデータ型。この属性を指定しない場合、値は
|
MBean 定義ファイル (MDF) は、JDK 例外の型または weblogic.management.utils
例外の型のみを使用する必要があります。コード リスト A-1 で示したコードの一部を次に示します。MBeanOperation
下位要素内で MBeanException
が使用されています。
<MBeanOperation Name = "registerPredicate" ReturnType = "void" Description = "Registers a new predicate with the specified class name." > <MBeanOperationArg Name = "predicateClassName" Type = "java.lang.String" Description = "The name of the Java class that implements the predicate." /> <MBeanException>weblogic.management.utils.InvalidPredicateException</MBeanException> <MBeanException>weblogic.management.utils.AlreadyExistsException</MBeanException> </MBeanOperation>
コード リスト A-1 と コード リスト A-2 に、この付録で説明した属性の多くを使用した MBean 定義ファイル (MDF) の例を示します。コード リスト A-1 には、述語を管理し、述語とそれらの引数に関するデータを読み取る MBean タイプを生成するための MDF を示します。コード リスト A-2 には、WebLogic (デフォルト) 認可プロバイダの MBean タイプを生成するための MDF を示します。
コード リスト A-1 PredicateEditor.xml
<?xml version="1.0" ?> <!DOCTYPE MBeanType SYSTEM "commo.dtd"> <MBeanType Name = "PredicateEditor" Package = "weblogic.security.providers.authorization" Implements = "weblogic.security.providers.authorization.PredicateReader" PersistPolicy = "OnUpdate" Abstract = "false" Description = "This MBean manages predicates and reads data about predicates and their arguments.<p>" > <MBeanOperation Name = "registerPredicate" ReturnType = "void" Description = "Registers a new predicate with the specified class name." > <MBeanOperationArg Name = "predicateClassName" Type = "java.lang.String" Description = "The name of the Java class that implements the predicate." /> <MBeanException>weblogic.management.utils.InvalidPredicateException</MBeanException> <MBeanException>weblogic.management.utils.AlreadyExistsException</MBeanException> </MBeanOperation> <MBeanOperation Name = "unregisterPredicate" ReturnType = "void" Description = "Unregisters the currently registered predicate." > <MBeanOperationArg Name = "predicateClassName" Type = "java.lang.String" Description = "The name of the Java class that implements predicate to be unregistered." /> <MBeanException>weblogic.management.utils.NotFoundException</MBeanException> </MBeanOperation> </MBeanType>
コード リスト A-2 DefaultAuthorizer.xml
<?xml version="1.0" ?> <!DOCTYPE MBeanType SYSTEM "commo.dtd"> <MBeanType Name = "DefaultAuthorizer" DisplayName = "DefaultAuthorizer" Package = "weblogic.security.providers.authorization" Extends ="weblogic.management.security.authorization.DeployableAuthorizer" Implements = "weblogic.management.security.authorization.PolicyEditor, weblogic.security.providers.authorization.PredicateEditor" PersistPolicy = "OnUpdate" Description = "This MBean represents configuration attributes for the WebLogic Authorization provider.<p>" > <MBeanAttribute Name = "ProviderClassName" Type = "java.lang.String" Writeable = "false" Default""weblogic.security.providers.authorization.DefaultAuthorizationProviderImpl"" Description = "The name of the Java class used to load the WebLogic Authorization provider." /> <MBeanAttribute Name = "Description" Type = "java.lang.String" Writeable = "false" Default = ""Weblogic Default Authorization Provider"" Description = "A short description of the WebLogic Authorization provider." /> <MBeanAttribute Name = "Version" Type = "java.lang.String" Writeable = "false" Default = ""1.0"" Description = "The version of the WebLogic Authorization provider." /> </MBeanType>