ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティ・プロバイダの開発
11gリリース1(10.3.6)
B61623-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
 

A MBean定義ファイル(MDF)要素の構文

MBean定義ファイル(MDF) はWebLogic MBeanMakerユーティリティへの入力ファイルです。WebLogic MBeanMakerユーティリティは、このファイルを使用してカスタム・セキュリティ・プロバイダを管理するためのMBeanタイプを作成します。MDFは、単一のMBeanタイプを記述する有効な整形式XMLファイルとしてフォーマットされる必要があります。以下の節では、有効なMDFで使用可能なすべての要素と属性について説明します。

MBeanType (ルート)要素

すべての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拡張機能 指定可能な値 説明

Abstract

Oracle拡張機能

trueまたはfalse

値がtrueの場合には、当該MBeanタイプは(Java抽象クラスと同様に)インスタンス化できないことを意味します。ただし、他のMBeanタイプは当該MBeanタイプの属性と操作を継承できます。trueを指定した場合には、管理タスクを実行するための非抽象MBeanタイプを別途作成する必要があります。この属性の値を指定しない場合は、falseと見なされます。

Deprecated

Oracle拡張機能

trueまたはfalse

当該MBeanタイプが非推奨扱いになっていることを示します。この情報は生成されたJavaソースに表示されると共に、管理アプリケーションでの使用を想定してModelMBeanInfoオブジェクトにも格納されます。この属性を指定しない場合、値はfalseと見なされます。

Description

JMX仕様

String型

当該MBeanタイプに関連付けられる任意の文字列で、生成されたクラスのJavadocなど、様々な場所に現れます。デフォルト値または仮定される値はありません。

注意: ユーザー・インタフェースに表示される説明を指定するには、DisplayName属性を使用します。

DisplayName

JMX仕様

String型

ユーザー・インタフェースに表示されるMBeanタイプのインスタンス識別用の名前。タイプXのインスタンスの場合、デフォルトDisplayNameは「タイプXのインスタンス」となります。通常、この値はインスタンス作成時にオーバーライドされます。

Extends

Oracle拡張機能

パス名

このMBeanタイプが拡張する完全修飾MBeanタイプ名。

Implements

Oracle拡張機能

カンマ区切り

リスト

このMBeanタイプを実装する完全修飾MBeanタイプ名からなるカンマ区切りリスト。

「Extends」も参照してください。

Name

JMX仕様

String型

当該MBeanタイプのプログラム上の内部的な名前を指定する必須属性。

Package

Oracle拡張機能

String型

当該MBeanタイプのパッケージ名を指定し、WebLogic MBeanMakerによって作成されるクラス・ファイルの場所を決定します。この属性を指定しない場合には、MBeanタイプはJavaデフォルト・パッケージに格納されます。

注意: パッケージ名が異なっている限り、MBeanタイプ名は同じ名前でもかまいません。

PersistPolicy

JMX仕様

/OnUpdate

永続化がどのように行われるかを、以下のいずれかで指定します。

OnUpdate :属性は更新のたびに格納されます。

注意: MBeanType要素内で指定された場合、この属性値は、個々のMBeanAttributeサブ要素内のあらゆる設定をオーバーライドします。


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拡張機能 指定可能な値 説明

Default

JMX仕様

String型

MBeanAttributeサブ要素からゲッター・メソッドまたはキャッシュ済みの値が提供されない場合に返すべき値。文字列は、この属性に指定されたデータ型と互換性を持つ型のオブジェクトに評価しなければならないJava式を表します。

この属性を指定しない場合、値はnullと見なされます。この想定値を使用し、かつLegalNull属性をfalseに設定してある場合には、WebLogic MBeanMakerとWebLogic Serverから例外がスローされます。

Deprecated

Oracle拡張機能

trueまたはfalse

当該MBean属性が非推奨扱いになっていることを示します。この情報は生成されたJavaソースに表示されると共に、管理アプリケーションでの使用を想定してModelMBeanInfoオブジェクトにも格納されます。この属性を指定しない場合、値はfalseと見なされます。

Description

JMX仕様

String型

当該MBean属性に関連付けられる任意の文字列で、生成されたクラスのJavadocなど、様々な場所に現れます。デフォルト値または仮定される値はありません。

注意: ユーザー・インタフェース内に表示される説明を指定するには、DisplayName属性を使用します。

Dynamic

Oracle拡張機能

trueまたはfalse

動的MBeanに対する変更が、サーバーを再起動しなくても有効になります。デフォルトでは、すべてのカスタム・セキュリティ・プロバイダMBean属性は動的ではありません。

8.1および7.0では、すべてのカスタム・セキュリティ・プロバイダMBean属性は動的です。

Encrypted

Oracle拡張機能

trueまたはfalse

値がtrueの場合、このMBean属性は設定されると暗号化されることを示します。この属性を指定しない場合、値はfalseと見なされます。

InterfaceType

Oracle拡張機能

String型

WebLogic MBeanMakerで生成されるMBeanインタフェースのかわりに使用すべきインタフェースのクラス名。InterfaceTypeに指定できる値は以下のとおりです。

  • int

  • long

  • float

  • double

  • char

  • byte

「Type」がjava.lang.Stringjava.lang.String[]、またはjava.lang.Propertiesの場合は指定しません。

IsIs

JMX仕様

trueまたはfalse

生成されるJavaインタフェースでMBean属性のブール値にアクセスするのに(get<AttributeName>メソッドではなく) JMX is<AttributeName>メソッドを使用するかどうかを指定します。この属性を指定しない場合、値はfalseと見なされます。

LegalNull

Oracle拡張機能

trueまたはfalse

現在のMBeanAttributeサブ要素がnullを値として取り得るかどうかを指定します。この属性を指定しない場合、値はtrueと見なされます。

LegalValues

Oracle拡張機能

カンマ区切りリスト

現在のMBeanAttributeサブ要素の取り得る値の固定集合を指定します。この属性を指定しない場合、MBean属性では、Type属性で指定されているタイプの任意の値を指定できます。

注意: このリスト内の要素は、サブ要素のType属性で指定されるデータ型に変換可能なものでなければなりません。

Max

Oracle拡張機能

Integer型

数値型のMBean属性タイプに限り、属性の最大値(その値を含む)を表す数値を指定します。この属性を指定しない場合には、値はデータ型の許容最大値まで可能です。

Min

Oracle拡張機能

Integer型

数値型のMBean属性タイプに限り、属性の最小値(その値を含む)を表す数値を指定します。この属性を指定しない場合には、値はデータ型の許容最小値まで可能です。

Name

JMX仕様

String型

当該MBean属性のプログラム上の内部的な名前を指定する必須属性。

Type

JMX仕様

Javaクラス名

この属性のデータ型の完全修飾クラス名。これに対応するクラスがクラスパスに存在していなければなりません。この属性を指定しない場合、値はjava.lang.Stringと見なされます。指定できる値は以下のとおりです。

  • java.lang.Integer

  • java.lang.Integer[]

  • java.lang.Long

  • java.lang.Long[]

  • java.lang.Float

  • java.lang.Float[]

  • java.lang.Double

  • java.lang.Double[]

  • java.lang.Char

  • java.lang.Char[]

  • java.lang.Byte

  • java.lang.Byte[]

  • java.lang.String

  • java.lang.String[]

  • java.util.Properties

Writeable

JMX仕様

trueまたはfalse

値がtrueの場合には、MBean APIを通じてMBeanAttributeの値を設定できるようになります。MBeanTypeまたはMBeanAttributeでこの属性を指定しない場合、値はtrueと見なされます。

MBeanType要素に指定すると、この値は個々のMBeanAttributeサブ要素のデフォルトと見なされます。


MBeanConstructorサブ要素

MBeanConstructorサブ要素は現在のところ、WebLogic MBeanMakerでは使用されておらず、Java Management eXtensions 1.0仕様(http://jcp.org/aboutJava/communityprocess/final/jsr003/index.html)に準拠し、上位互換性を保つためにサポートされているだけです。したがって、ここでは、MBeanConstructorサブ要素(およびそれに関連するMBeanConstructorArgサブ要素)の属性の詳細については説明を省略します。

MBeanOperationサブ要素

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拡張機能 指定可能な値 説明

Deprecated

Oracle拡張機能

trueまたはfalse

当該MBean操作が非推奨扱いになっていることを示します。この情報は生成されたJavaソースに表示されると共に、管理アプリケーションでの使用を想定してModelMBeanInfoオブジェクトにも格納されます。この属性を指定しない場合、値はfalseと見なされます。

Description

JMX仕様

String型

当該MBean操作に関連付けられる任意の文字列で、生成されたクラスのJavadocなど、様々な場所に現れます。デフォルト値または仮定される値はありません。

注意: ユーザー・インタフェース内に表示される説明を指定するには、DisplayName属性を使用します。

Name

JMX仕様

String型

当該MBean操作のプログラム上の内部的な名前を指定する必須属性。

ReturnType

JMX仕様

String型

当該操作から返されるJavaオブジェクトの完全修飾クラス名を表す文字列。ReturnTypeはvoidまたは以下のいずれかになります。

  • int

  • int[]

  • long

  • long[]

  • float

  • float[]

  • double

  • double[]

  • char

  • char[]

  • byte

  • byte[]

  • java.lang.String

  • java.lang.String[]

  • java.util.Properties


表A-4では、MBeanOperationArgサブ要素で使用可能な属性について説明します。「JMX仕様/Oracle拡張機能」列は、当該属性がJMX仕様に対するOracle拡張機能なのかどうかを示します。なお、Oracle拡張機能は他のJava EE Webサーバー上では動作しない場合があることに注意してください。

表A-4 MBeanOperationArgサブ要素の属性

属性 JMX仕様/Oracle拡張機能 指定可能な値 説明

Description

JMX仕様

String型

当該MBean操作の引数に関連付けられる任意の文字列で、生成されたクラスのJavadocなど、様々な場所に現れます。デフォルト値または仮定される値はありません。

Name

JMX仕様

String型

当該引数の名前を指定する必須属性。

Type

JMX仕様

String型

当該MBean操作の引数のデータ型。この属性を指定しない場合、値はjava.lang.Stringと見なされます。Typeに指定できる値は以下のとおりです。

  • int

  • int[]

  • long

  • long[]

  • float

  • float[]

  • double

  • double[]

  • char

  • char[]

  • byte

  • byte[]

  • java.lang.String

  • java.lang.String[]

  • java.util.Properties


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>

例:有効な整形式MBean定義ファイル(MDF)

例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.&lt;p&gt;"
>
<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. &lt;p&gt;"
>
<MBeanAttribute 
Name = "ProviderClassName" 
Type = "java.lang.String"
Writeable = "false"
Default"&quot;weblogic.security.providers.authorization.DefaultAuthorizationProviderImpl&quot;"
Description = "The name of the Java class used to load the WebLogic 
Authorization provider."
/>
<MBeanAttribute 
Name = "Description"
Type = "java.lang.String"
Writeable = "false"
Default = "&quot;Weblogic Default Authorization Provider&quot;"    Description =
"A short description of the WebLogic Authorization provider."  />
<MBeanAttribute 
Name = "Version" 
Type = "java.lang.String" 
Writeable = "false" 
Default = "&quot;1.0&quot;" 
Description = "The version of the WebLogic Authorization provider." 
/>
</MBeanType>