AdminControl オブジェクトを使用して、実行している MBean と対話します。
WebSphere Application Server では、MBean は実行しているオブジェクトを表します。
MBean サーバーに対して、そこに含まれているオブジェクトを問い合わせることができます。
- queryNames コマンドを使用して、実行中の MBean オブジェクトを参照します。
以下に例を示します。
Jacl を使用:
$AdminControl queryNames *
Jython を使用:
print AdminControl.queryNames('*')
このコマンドは、すべての MBean タイプのリストを戻します。
スクリプト・クライアントの接続先のサーバーによっては、
異なるサーバーで実行される MBean をリストに含むことができます。
- クライアントがスタンドアロン WebSphere Application Server に接続されている場合、
リストにはそのサーバーで実行される MBean が含まれます。
- クライアントがノード・エージェントに接続されている場合、
リストにはノード・エージェントで実行する Mbean と、
そのノード上のすべてのアプリケーション・サーバーで実行する MBean が含まれます。
- クライアントがデプロイメント・マネージャーに接続されている場合、
リストには、デプロイメント・マネージャーで実行している MBean、
そのデプロイメント・マネージャーと通信しているすべてのノード・エージェント、
およびそれらのノード・エージェントが処理するそのノード上のすべてのアプリケーション・サーバーが含まれます。
- queryNames コマンドが戻すリストは、JMX ObjectName オブジェクトのストリング表現です。
以下に例を示します。
WebSphere:cell=MyCell,name=TraceService,mbeanIdentifier=TraceService,
type=TraceService,node=MyNode,process=server1
この例は、MyNode 上の server1 で実行する TraceServer オブジェクトを表しています。
- 単一の queryNames 引数は、検索する ObjectName オブジェクトを表します。
例にあるアスタリスク ("*") は、単に「すべてのオブジェクトを戻す」ことを意味しますが、
さらに明確に特定することができます。
例に示すように、ObjectName には、ドメインとキー・プロパティーのリストという 2 つの部分があります。
WebSphere Application Server によって作成された MBean の場合、ドメインは WebSphere です。
queryNames を呼び出すときにドメインが指定されていないと、
スクリプト・クライアントは、ドメインとして WebSphere を想定します。
これは、上記の最初の照会例が、以下と等しいことを意味します。
Jacl を使用:
$AdminControl queryNames WebSphere:*
Jython を使用:
AdminControl.queryNames('WebSphere:*')
- WebSphere Application Server は、ObjectName オブジェクトに以下のキー・プロパティーを含みます。
- name
- type
- cell
- node
- process
- mbeanIdentifier
これらのキー・プロパティーは、共通のものです。
他のキー・プロパティーも存在します。
これらのキー・プロパティーのいずれかを使用して、
queryNames コマンドの有効範囲を絞り込むことができます。
以下に例を示します。Jacl を使用:
$AdminControl queryNames WebSphere:type=Server,node=myNode,*
Jython を使用:
AdminControl.queryNames('WebSphere:type=Server,node=myNode,*')
この例では、ノード myNode を実行しているサーバー・オブジェクトを表す、
すべての MBean のリストが戻されます。
ObjectName オブジェクトの終わりにある * は、JMX のワイルドカード指定です。
例えば、次のように入力した場合:
Jacl を使用:
$AdminControl queryNames WebSphere:type=Server,node=myNode
Jython を使用:
print AdminControl.queryNames('WebSphere:type=Server,node=myNode')
queryNames への引数がワイルドカードでないため、空のリストが戻されます。
実行しているサーバー MBean で、
キー・プロパティーがこれらに完全に一致しており、それ以外のプロパティーを持たないものはありません。
- 特定のノード上で実行しているアプリケーションを表す MBean をすべて参照したい場合は、
次の例を呼び出します。
Jacl を使用:
$AdminControl queryNames WebSphere:type=Application,node=myNode,*
Jython を使用:
print AdminControl.queryNames('WebSphere:type=Application,node=myNode,*')