| Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティ・プロバイダの開発 11g リリース1(10.3.4) B61623-02  | 
  | 
![]() 前  | 
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など、様々な場所に現れます。デフォルト値または仮定される値はありません。 注意: ユーザー・インタフェースに表示される説明を指定するには、  | 
| 
 
  | 
 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拡張機能  | 
 
  | 
 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>