ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server セキュリティ プロバイダの開発
11g リリース 1 (10.3.1)
B55527-01
 

目次
目次

戻る
戻る
 
 

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>