WebLogic JMX Service プログラマーズ ガイド
![]() |
![]() |
![]() |
![]() |
WebLogic Server MBean をインスタンス化すると、MBean サーバ サブシステムは weblogic.management.WebLogicObjectName
の規約に準拠した名前でそのインスタンスを登録します。この命名規約によって、MBean をルックアップする際に使用する階層的な JMX ネームスペースが作成されます (MBean サーバ サブシステムの詳細については、「MBean サーバおよび MBeanHome インタフェース」を参照)。
以下の節では、WebLogic Server の管理用ネームスペースについて説明します。
WebLogicObjectName
は javax.management.ObjectName
のサブクラスです。MBean にユニークな名前を指定するために、すべての JMX オブジェクト名は 2 つの部分で構成されています。
WebLogic Server MBean の場合、JMX ドメイン名は、MBean が配置されている WebLogic Server ドメインの名前です。
たとえば mydomain という WebLogic Server ドメインでは、すべての WebLogic Server MBean 名は mydomain:
という文字列で始まるので、mydomain
JMX ドメインにあります。アプリケーション用にカスタム MBean を作成する場合、それらを mydomain:
JMX ドメインに追加することも、独自の JMX ドメインを作成することもできます。
MBean の WebLogicObjectName
は、次の規約に基づいて、特定の MBean にユニークな識別名を与えます。
domain
:Name=name
,Type=type
[,Location=
serverName
]
[,TypeOfParentMBean
=NameOfParentMBean
][,TypeOfParentMBean1
=NameOfParentMBean1
]...
attribute
=value
ペアの順序は重要ではありませんが、名前の先頭は domain
:
である必要があります。
|
|
|
|
|
|
|
|
|
セキュリティ プロバイダを管理するための MBean は JMX オブジェクト名を使用しますが、weblogic.management.WebLogicObjectName
タイプのオブジェクト名は使用しません。代わりに、WebLogic Server に付属しているセキュリティ プロバイダは JMX 準拠の次の命名規約を使用します。
Security:Name=
realmNameProviderName
この規約では Security:
は JMX ドメインの名前、realmName
はセキュリティ レルム、ProviderName
はセキュリティ プロバイダに指定する名前です。たとえば、WebLogic Server がインストールする認証プロバイダの MBean の名前は Security:Name=myrealmDefaultAuthenticator
です。
追加のセキュリティ プロバイダをコンフィグレーションする場合は、この規約に従うことをお勧めします。Administration Console を使用してセキュリティ プロバイダをレルムに追加する場合、セキュリティ プロバイダ MBean 名は推奨された命名規約に従います。
セキュリティ プロバイダの詳細については、『WebLogic Security サービスの開発』を参照してください。
システム管理者はたびたび JMX API、weblogic.Admin
ユーティリティ、または wlconfig
Ant タスクを使用して、WebLogic Server ドメイン内のリソースの作成を自動化します。これらのリソースを正常にコンフィグレーションするには、管理 MBean を作成して、ネームスペースの階層内に配置する必要があります。
注意 : ローカル コンフィグレーション MBean と実行時 MBean の管理用ネームスペースも階層的ですが、システム管理者はこれらのタイプの MBean にアクセスするために API や他のコマンドライン ユーティリティをあまり使用しないため、そのネームスペースについては説明していません。
以下の節では、多数の WebLogic Server リソースおよびサーバの属性をコンフィグレーションする管理 MBean のネームスペースについて説明します。
注意 : DomainMBean
を除き、すべての MBean はドメインの DomainMBean
の直接的または間接的な子です。この親子関係はすべての MBean に当てはまるため、MBean オブジェクト名では表現されません。
WebLogic Server インスタンスは複数の MBean の属性を使用して、クライアントや他のサーバとの通信方法を判断します。表 3-2 で MBean を紹介し、図 3-1 にサンプル MedRec ドメインのネームスペースを示します。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
図 3-1 サーバ通信およびプロトコルの MBean ネームスペース
WebLogic Server ドメインでは、複数の MBean がロギング サービスをコンフィグレーションします。表 3-3 で MBean を紹介し、図 3-2 にサンプル MedRec ドメインのネームスペースを示します。
|
|
|
|
|
|
|
J2EE モジュール (エンタープライズ アプリケーション、Web アプリケーション、または EJB) を割り当ててデプロイするときに、WebLogic Server ではモジュールのコンフィグレーションを管理するための MBean が作成されます。
また、ユーザがコンフィグレーションして割り当てる起動クラスと停止クラスの MBean も作成されます。表 3-4 で MBean を紹介し、図 3-3 にサンプル MedRec ドメインのネームスペースを示します。
|
|
|
|
|
|
|
|
|
WebLogic Server ドメインにおいて、各セキュリティ レルムは RealmMBean
の独自のインスタンスと、そのレルムにコンフィグレーションされているセキュリティ プロバイダの複数の MBean によって管理されます。
各セキュリティ レルムはカスタマイズできるため、weblogic.management.security.RealmMBean
とセキュリティ プロバイダ MBean は、他のすべての WebLogic Server MBean とは別の管理用ネームスペースを使用します。また、RealmMBean
とセキュリティ プロバイダ MBean の名前は有効な JMX オブジェクト名ですが、WebLogicObjectName
の規約には従いません。代わりに、作成するセキュリティ レルム MBean とセキュリティ プロバイダ MBean には次の命名規約を使用することをお勧めします。
Security:
realmnameProviderName
Administration Console を使用してレルムとセキュリティ プロバイダをコンフィグレーションする場合、MBean 名は推奨された規約に従います。
レルム MBean とセキュリティ プロバイダ MBean に加えて、WebLogic Server ドメインでは表 3-5 の MBean を使用してセキュリティをコンフィグレーションします。これらの MBean は他の WebLogic Server MBean と同じネームスペース内にあります。
|
|
|
|
|
図 3-4 に、サンプル MedRec ドメインのセキュリティ ネームスペースを示します。図 3-4 のセキュリティ レルムおよびプロバイダは、WebLogic Server がデフォルトでインストールするものです。ユーザが作成するドメインでは、コンフィグレーションするレルムとセキュリティ プロバイダによってセキュリティ ネームスペースの内容は異なります。
WebLogic Server は複数の MBean を使用して JDBC サービスの管理インタフェースを提供します。すべての JDBC MBean はDomainMBean
の直接の子であるため、JDBC MBean の名前には階層は反映されません。表 3-6 で MBean を紹介し、図 3-5 にサンプル MedRec ドメインのネームスペースを示します。図 3-5には、MedRec ドメインでは使用しない JDBC 機能の MBean も追加されています。
|
|
|
|
|
|
|
WebLogic Server は複数の MBean を使用して JMS サービスの管理インタフェースを提供します。表 3-7 で MBean を紹介し、図 3-6 にサンプル MedRec ドメインのネームスペースを示します。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WebLogic Server は複数の MBean を使用してクラスタおよびクラスタ関連リソースの管理インタフェースを提供します。表 3-8 で MBean を紹介し、図 3-7 にサンプル MedRec ドメインのネームスペースを示します。
|
|
|
|
|
|
|
ドメインが複数の WebLogic Server ホスト コンピュータ上で動作する複数のサーバ インスタンスで構成される場合は、サーバのライフ サイクル管理を容易にするために、マシンとノード マネージャを使用することができます。WebLogic Server は複数の MBean を使用してマシンおよびノード マネージャの管理インタフェースを提供します。表 3-9 で MBean を紹介し、図 3-8 にサンプル MedRec ドメインのネームスペースを示します。
|
|
|
|
|
MBean の WebLogicObjectName
に指定する値がわからない場合は、weblogic.Admin
ユーティリティを使用して WebLogicObjectName
を検索できます。このユーティリティでは、アクティブなサーバ インスタンス上の WebLogic Server MBean についてのみ情報が返されます。
たとえば、medrec
ドメインにある LogMBean
の管理インスタンスの WebLogicObjectName
を検索するには、MedRecServer
管理サーバで次のコマンドを入力します。ここで、管理サーバのリスン ポートは 8001 であり、weblogic
は MBean の属性を表示するパーミッションを持つユーザの名前とパスワードです。
java weblogic.Admin -url localhost:8001 -username weblogic -password weblogic GET -pretty -type Log
このコマンドでは、コード リスト 3-1 の出力が返されます。出力を見ると、このコマンドでは管理サーバ上の Log
タイプの 2 つの MBean が返されることがわかります。最初の MBean (medrec:Name=MedRecServer,Server=MedRecServer,Type=Log
) には、MedRecServer
の ServerMBean
と子の関係があります。この関係は、その MBean がサーバ固有のログ ファイルをコンフィグレーションする LogMBean
であることを示します。2 番目の MBean (medrec:Name=medrec,Type=Log
) には子の関係はありません。つまり、ドメイン全体のログ ファイルをコンフィグレーションする MBean であるということになります。
-pretty
を指定すると、weblogic.Admin
ユーティリティは各 MBean 属性および値を別々の行に配置します。この引数がない場合、各属性/値ペアは中括弧 {}
で囲まれますが、すべての出力が同じ行に配置されます。
---------------------------
MBeanName: "medrec:Name=MedRecServer,Server=MedRecServer,Type=Log"
CachingDisabled: true
FileCount: 7
FileMinSize: 500
FileName: MedRecServer\MedRecServer.log
FileTimeSpan: 24
Name: MedRecServer
Notes:
NumberOfFilesLimited: false
ObjectName: MedRecServer
Registered: false
RotationTime: 00:00
RotationType: none
Type: Log
---------------------------
MBeanName: "medrec:Name=medrec,Type=Log"
CachingDisabled: true
FileCount: 7
FileMinSize: 500
FileName: ./logs/wl-domain.log
FileTimeSpan: 24
Name: medrec
Notes:
NumberOfFilesLimited: false
ObjectName: medrec
Registered: false
RotationTime: 00:00
RotationType: none
Type: Log
LogMBean
のローカル コンフィグレーション MBean インスタンスを表示するには、type
引数の値に Config
を付加します。
java weblogic.Admin -url localhost:8001 -username weblogic -password weblogic GET -pretty -type LogConfig
このコマンドでは、コード リスト 3-2 の出力が返されます。出力を見ると、ローカル コンフィグレーション MBean の WebLogicObjectName
に Location
コンポーネントが含まれていることがわかります。
コード リスト 3-2ローカル コンフィグレーション MBean
---------------------------
MBeanName: "medrec:Location=MedRecServer,Name=MedRecServer,ServerConfig=MedRecServer,Type=LogConfig"
CachingDisabled: true
FileCount: 7
FileMinSize: 500
FileName: MedRecServer\MedRecServer.log
FileTimeSpan: 24
Name: MedRecServer
Notes:
NumberOfFilesLimited: false
ObjectName: MedRecServer
Registered: false
RotationTime: 00:00
RotationType: none
Type: LogConfig
---------------------------
MBeanName: "medrec:Location=MedRecServer,Name=medrec,Type=LogConfig"
CachingDisabled: true
FileCount: 7
FileMinSize: 500
FileName: ./logs/wl-domain.log
FileTimeSpan: 24
Name: medrec
Notes:
NumberOfFilesLimited: false
ObjectName: medrec
Registered: false
RotationTime: 00:00
RotationType: none
Type: LogConfig
セキュリティ MBean のオブジェクト名に指定する値がわからない場合は、weblogic.Admin QUERY
コマンドを使用してオブジェクト名を取得できます。セキュリティ MBean が存在するドメインがアクティブでなければなりません。
推奨された命名規約に従っている場合、または Administration Console を使用してセキュリティ MBean を作成した場合は、次のコマンドを使用してドメイン内のすべてのセキュリティ MBean を表示できます。
java weblogic.Admin -url localhost:8001 -username weblogic -password weblogic QUERY -pretty -pattern Security:*
それ以外の場合は、QUERY
コマンドの他の形式を使用して、MBean 名を検索できます。『WebLogic Server コマンド リファレンス』の「QUERY」を参照してください。
![]() ![]() |
![]() |
![]() |