範例: 使用 wsadmin Scripting 識別執行中物件

請利用 AdminControl 物件來與執行中的 MBean 互動。

在 WebSphere® Application Server中, MBean 代表執行中物件。 您可以詢問 MBean 伺服器,以查看它包含的物件。

  • 請使用 queryNames 指令來查看執行中的 MBean 物件。 例如:
    使用 Jacl:
    $AdminControl queryNames *
    使用 Jython:
    print AdminControl.queryNames('*')
    這個指令會傳回所有 MBean 類型的清單。 視 Scripting 用戶端所連接的伺服器而定,此清單可以包含在不同伺服器上執行的 MBean:
    • 如果用戶端連接至獨立式 WebSphere Application Server,則清單會包含在該伺服器上執行的 MBean。
    • 如果用戶端連接至節點代理程式,則清單包含在節點代理程式中執行的 MBean ,以及在該節點上所有應用程式伺服器上執行的 MBean。
    • 如果用戶端連接至部署管理程式,則清單包含在部署管理程式中執行的 MBean、與該部署管理程式通訊的所有節點代理程式,以及那些節點代理程式所提供之節點上的所有應用程式伺服器。
  • queryNames 指令傳回的清單是 JMX 的字串表示法ObjectName物件。 例如:
    WebSphere:cell=MyCell , name = TraceService , mbeanIdentifier = TraceService ,
    type=TraceService,node=MyNode,process=server1
    
    此範例代表TraceServerMyNode上的 server1 中執行的物件。
  • 單一 queryNames 引數代表ObjectName您要搜尋的物件。 星號 ("*") 在此範例中,表示傳回所有物件,但可能更具體。 如範例所示,ObjectName有兩個部分: 網域和索引鍵內容清單。 對於 WebSphere Application Server所建立的 MBean ,網域是 WebSphere。 如果您在呼叫 queryNames 時未指定網域, Scripting 用戶端會假設網域是 WebSphere。 這表示第一個範例查詢相當於:
    使用 Jacl:
    $AdminControl queryNames WebSphere:*
    使用 Jython:
    AdminControl.queryNames('WebSphere:*')
  • WebSphere Application Server 包括下列主要內容:ObjectName物件:
    • type
    • Cell
    • 節點
    • 程序 (process)
    • mbeanIdentifier
    這些關鍵內容是常見的。 存在其他關鍵內容。 您可以使用任何這些關鍵內容來縮小 queryNames 指令的範圍。 例如:
    使用 Jacl:
    $AdminControl queryNames WebSphere:type=Server,node=myNode,*
    
    使用 Jython:
    AdminControl.queryNames('WebSphere:type=Server,node=myNode,*')
    此範例傳回所有 MBean 的清單,這些 MBean 代表執行節點 myNode的伺服器物件。 這個,*結束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,*')