使用 wsadmin Scripting 的 AdminControl 物件指令

請利用 AdminControl 物件來呼叫作業指令,以管理應用程式伺服器的物件。

許多 AdminControl 指令都有多個簽章,因此它們可以在原始模式中使用「Java 管理延伸 (JMX)」指定的參數來呼叫,或使用參數的字串來呼叫。 除了作業指令之外, AdminControl 物件還支援一些公用程式指令,用來追蹤、重新連接伺服器,以及轉換資料類型。

避免麻煩: 在大型拓蹼中使用 AdminControl 物件中可用的指令時,請使用 process=dmgr 和 type = Cluster 來查詢及搜尋。 這種搜尋方法更有效率,節省時間,避免搜尋所有節點。

completeObject名稱

請利用 completeObject名稱 指令來建立以片段為基礎之完整 ObjectName 值的字串表示法。 此指令不會與伺服器通訊來尋找相符的 ObjectName 值。 如果系統找到數個符合片段的 MBean ,指令會傳回第一個 MBean。

目標物件

無。

必要參數

物件名稱
指定要完成的物件名稱。 (ObjectName)
範本
指定要使用的範本名稱。 例如,範本可能是type=Server,*. (java.lang.String)

選用參數

無。

範例輸出

指令不傳回輸出。

範例

  • 使用 Jacl:
    set serverON [$AdminControl completeObjectName node=mynode,type=Server,*] 
  • 使用 Jython:
    serverON = AdminControl.completeObjectName('node=mynode,type=Server,*')

getAttribute

使用 getAttribute 指令,為您提供的名稱傳回屬性值。

如果您使用 getAttribute 指令來判斷應用程式的狀態,則會傳回下列其中一個值:
  • 0-表示應用程式正在啟動中
  • 1-表示應用程式已啟動
  • 2-表示應用程式正在停止
  • 3-表示應用程式已停止
  • 4-指出應用程式無法啟動

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (ObjectName)
屬性
指定要查詢的屬性名稱。 (java.lang.String)

選用參數

無。

範例輸出

指令會傳回包含您所查詢之屬性值的字串,如下列範例所示:
'DeploymentManager'

範例

  • 使用 Jacl:
    set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] 
    $AdminControl getAttribute $objNameString processType 
  • 使用 Jython:
    objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') 
    print AdminControl.getAttribute(objNameString, 'processType')

getAttribute_jmx

使用 getAttribute_jmx 指令,傳回您提供之名稱的屬性值。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (ObjectName)
屬性
指定要查詢的屬性名稱。 (java.lang.String)

選用參數

無。

範例輸出

指令會傳回包含您所查詢之屬性值的字串,如下列範例所示:
'DeploymentManager'

範例

  • 使用 Jacl:
    set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] 
    set objName [java::new javax.management.ObjectName $objNameString]
    $AdminControl getAttribute_jmx $objName processType
  • 使用 Jython:
    objNameString = AdminControl.completeObjectName('WebSphere:=type=Server,*') 
    import  javax.management  as  mgmt 
    objName =  mgmt.ObjectName(objNameString) 
    print AdminControl.getAttribute_jmx(objName, 'processType')

getAttributes

使用 getAttributes 指令來傳回您所提供名稱的屬性值。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (ObjectName)
屬性
指定要查詢的屬性名稱。 (java.lang.String[] 或 java.lang.Object[])

選用參數

無。

範例輸出

指令會傳回包含您所查詢之屬性值的字串,如下列範例所示:
'[ [cellName myCell01] [nodeName myCellManager01] ]'

範例

  • 使用 Jacl:
    set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] 
    $AdminControl getAttributes $objNameString "cellName nodeName"
  • 搭配字串屬性使用 Jython:
    objNameString = AdminControl.completeObjectname('WebSphere:type=Server,*)
    print AdminControl.getAttributes(objNameString, '[cellName nodeName]')
  • 搭配物件屬性使用 Jython:
    objNameString = AdminControl.completeObjectname('WebSphere:type=Server,*)
    print AdminControl.getAttributes(objNameString, ['cellName', 'nodeName'])

getAttributes_jmx

使用 getAttributes_jmx 指令來傳回您提供之名稱的屬性值。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (ObjectName)
屬性
指定要查詢的屬性名稱。 (java.lang.String[] 或 java.lang.Object[])

選用參數

無。

範例輸出

指令會傳回屬性清單。

範例

  • 使用 Jacl:
    set objectNameString [$AdminControl completeObjectName WebSphere:type=Server,*]
    set objName [$AdminControl makeObjectName $objectNameString]
    set attrs [java::new {String[]} 2 {cellName nodeName}] 
    $AdminControl getAttributes_jmx $objName $attrs
  • 使用 Jython:
    objectNameString = AdminControl.completeObjectName('type=Server,*')
    objName = AdminControl.makeObjectName(objectNameString)
    attrs = ['cellName', 'nodeName']
    print AdminControl.getAttributes_jmx(objName, attrs)

getCell

使用 getCell 指令來傳回所連接 Cell 的名稱。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回您查詢的 Cell 名稱,如下列範例所示:
Mycell

範例

  • 使用 Jacl:
    $AdminControl getCell
  • 使用 Jython:
    print AdminControl.getCell()

getConfigID

使用 getConfigId 指令,從 ObjectName 或 ObjectName 片段建立配置 ID。 每一個 MBean 都沒有對應的配置物件。 如果有數個 MBean 對應於 ObjectName 片段,則會建立警告,且會針對系統找到的第一個 MBean 建置配置 ID。

目標物件

無。

必要參數

物件名稱
指定感興趣物件的名稱。 物件名稱字串可以是萬用字元,以星號字元 (*) 指定。

選用參數

無。

範例輸出

指令會傳回包含相關配置 ID 的字串。

範例

  • 使用 Jacl:
    [AIX Solaris HP-UX Linux Windows]
    set threadpoolCID [$AdminControl getConfigId node=mynode,type=ThreadPool,*]  
    [z/OS]
    set serverConfigId [$AdminControl getConfigId node=SY1,type=Server,*]
  • 使用 Jython:
    [AIX Solaris HP-UX Linux Windows]
    threadpoolCID = AdminControl.getConfigId('node=mynode,type=ThreadPool,*')
    [z/OS]
    serverConfigId = AdminControl.getConfigId('node=SY1,type=Server,*')

getDefault網域

使用 getDefaultDomain 指令,從伺服器傳回預設網域名稱。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回包含相關預設網域名稱的字串,如下列範例所示:
WebSphere

範例

  • 使用 Jacl:
    $AdminControl getDefaultDomain 
  • 使用 Jython:
    print AdminControl.getDefaultDomain()

getDomain名稱

使用 getDomainName 指令可從伺服器傳回網域名稱。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回包含相關網域名稱的字串,如下列範例所示:
WebSphere

範例

  • 使用 Jacl:
    $AdminControl getDomainName
  • 使用 Jython:
    print AdminControl.getDomainName()

getHost

使用 getHost 指令來傳回主機名稱。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回包含相關主機名稱的字串,如下列範例所示:
myHost

範例

  • 使用 Jacl:
    $AdminControl getHost
  • 使用 Jython:
    print AdminControl.getHost()

getMBean計數

請使用 getMBean計數 指令來傳回伺服器中所登錄的 MBean 數目。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回一個整數值,其中包含在伺服器中登錄的 MBean 數目,如下列範例所示:
151

範例

  • 使用 Jacl:
    $AdminControl getMBeanCount 
  • 使用 Jython:
    print AdminControl.getMBeanCount()

getMBeanInfo_jmx

使用 getMBeanInfo_jmx 指令來傳回對應於 ObjectName 值的 Java 管理延伸 MBeanInfo 結構。 這個指令沒有字串簽章,因為 Help 物件會顯示 getMBeanInfo_jmx 指令所提供的大部分資訊。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (ObjectName)

選用參數

無。

範例輸出

指令會傳回 javax.management.MBeanInfo 物件,如下列範例所示:
javax.management.modelmbean.ModelMBeanInfoSupport@10dd5f35

範例

  • 使用 Jacl:
    set objectNameString [$AdminControl completeObjectName type=Server,*] 
    set objName [$AdminControl makeObjectName $objectNameString]
    $AdminControl getMBeanInfo_jmx $objName 
  • 使用 Jython:
    objectNameString = AdminControl.completeObjectName('type=Server,*') 
    objName = AdminControl.makeObjectName(objectNameString)
    print AdminControl.getMBeanInfo_jmx(objName)

getNode

使用 getNode 指令來傳回已連接節點的名稱。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回包含節點名稱的字串,如下列範例所示:
myNode01

範例

  • 使用 Jacl:
    $AdminControl getNode
  • 使用 Jython:
    print AdminControl.getNode()

getObject實例

使用 getObjectInstance 指令來傳回符合輸入物件名稱的物件實例。

目標物件

無。

必要參數

物件名稱
指定感興趣物件的名稱。 (ObjectName)

選用參數

無。

範例輸出

指令會傳回符合輸入物件名稱的物件實例,如下列範例所示:
javax.management.modelmbean.RequiredModelMBean

範例

  • 使用 Jacl:
    set server [$AdminControl completeObjectName type=Server,*]
    set serverOI [$AdminControl getObjectInstance $server]
    請使用下列範例來操作 getObject實例指令的回覆值:
    puts [$serverOI getClassName]
  • 使用 Jython:
    server = AdminControl.completeObjectName('type=Server,*')
    serverOI = AdminControl.getObjectInstance(server)
    請使用下列範例來操作 getObject實例指令的回覆值:
    print serverOI.getClassName()

getPort

使用 getPort 指令來傳回用於 Scripting 連線的埠名稱。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回系統用來建立 Scripting 連線之埠的埠號,如下列範例所示:
8877

範例

  • 使用 Jacl:
    $AdminControl getPort
  • 使用 Jython:
    print AdminControl.getPort()

getPropertiesForData來源 (已淘汰)

getPropertiesForDataSource 指令已淘汰,且沒有取代項目。 以連線模式執行時,此指令不正確地假設配置服務的可用性。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回下列訊息:
WASX7389E: Operation not supported - getPropertiesForDataSource command is not supported.

範例

  • 使用 Jacl:
    set ds [lindex [$AdminConfig list DataSource] 0] 
    $AdminControl getPropertiesForDataSource $ds
  • 使用 Jython:
    ds = AdminConfig.list('DataSource')
    
    # get line separator 
    import  java.lang.System  as  sys
    lineSeparator = sys.getProperty('line.separator')
    
    dsArray = ds.split(lineSeparator)
    print AdminControl.getPropertiesForDataSource(dsArray[0])

getType

使用 getType 指令來傳回用於 Scripting 連線的連線類型。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回一個字串,其中包含 Scripting 連線的連線類型,如下列範例所示:
SOAP

範例

  • 使用 Jacl:
    $AdminControl getType
  • 使用 Jython:
    print AdminControl.getType()

help

使用 help 指令來傳回 AdminControl 物件的一般說明文字。

目標物件

無。

必要參數

無。

選用參數

指令
指定要傳回說明資訊的指令。 指令名稱不區分大小寫。

範例輸出

指令會傳回一個字串,詳述 help 指令的特定選項,如下列範例所示:
WASX7027I: The AdminControl object enables the manipulation of MBeans that run in a 
WebSphere Application Server process. The number and type of MBeans 
that are available to the scripting client depend on the server to which the client is connected.  
If the client is connected to a deployment manager, then all the MBeans running in the Deployment Manager 
are visible, as are all the MBeans running in the node agentsthat are connected to this deployment manager,
 and all the MBeans that run in the application servers on those nodes.

The following commands are supported by the AdminControl object; more detailed information about each of these 
commands is available by using the "help" command of the AdminControl object and supplying the name 
of the command as an argument.

Many of these commands support two different sets of signatures: one that accepts and returns strings, and one 
low-level set that works with JMX objects like ObjectName and AttributeList. In most situations, the string 
signatures are likely to be more useful, but JMX-object signature versions are supplied as well.  Each of these
JMX-object signature commands has "_jmx" appended to the command name, so an "invoke" command, as well as a 
"invoke_jmx" command are supported.

completeObjectName		Return a String version of an object name given atemplate name
getAttribute_jmx			Given ObjectName and name of attribute, returns value ofattribute
getAttribute    			Given String version of ObjectName and name of attribute, returns value of attribute
getAttributes_jmx			Given ObjectName and array of attribute names, returns AttributeList
getAttributes   			Given String version of ObjectName and attribute names, returns String of name value pairs
getCell         			returns the cell name of the connected server
getConfigId     			Given String version of ObjectName, return a config id for the corresponding configuration 
										object, if any.
getDefaultDomain			returns "WebSphere"
getDomainName   			returns "WebSphere"
getHost         			returns String representation of connected host
getMBeanCount   			returns number of registered beans
getMBeanInfo_jmx			Given ObjectName, returns MBeanInfo structure for MBean
getNode         			returns the node name of the connected server
getPort         			returns String representation of port in use
getType         			returns String representation of connection type in use help  help					Show help information
invoke_jmx      			Given ObjectName, name of command, array of parameters andsignature, invoke command on 
										MBean specified
invoke          			Invoke a command on the specified MBean
isRegistered_jmx			true if supplied ObjectName is registered
isRegistered    			true if supplied String version of ObjectName is registered
makeObjectName  			Return an ObjectName built with the given string
queryNames_jmx  			Given ObjectName and QueryExp, retrieves set of ObjectNames that match.
queryNames      			Given String version of ObjectName, retrieves String of ObjectNames that match.
reconnect       			reconnects with serversetAttribute_jmx Given ObjectName and Attribute object, 
										set attribute for MBean specified
setAttribute    			Given String version of ObjectName, attribute name andattribute value, set attribute for 
										MBean specified
setAttributes_jmx			Given ObjectName and AttributeList object, set attributes for the MBean specified
startServer     			Given the name of a server, start that server.
stopServer      			Given the name of a server, stop that server.
testConnection  			Test the connection to a DataSource object 
trace           			Set the wsadmin trace specification
如果您在 help 指令中指定特定的指令, wsadmin 工具會傳回指令的詳細說明,如下列範例所示:
WASX7043I: command: getAttribute
Arguments: object name, attribute
Description: Returns value of "attribute" for the MBean described by "object name."

範例

  • 使用 Jacl:
    $AdminControl help 
    $AdminControl help getAttribute 
  • 使用 Jython:
    print AdminControl.help()
    print AdminControl.help('getAttribute')

呼叫

請利用 invoke 指令,根據作業所需的參數數目來呼叫特定的 MBean 作業。 如果此限制項不足以選取唯一作業,請使用 invoke_jmx。 在呼叫作業之前,所提供的參數會轉換成所選作業的簽章所需要的物件類型。 任何回覆值都會轉換成其字串表示法。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。
作業
指定要呼叫的作業。

選用參數

引數
指定作業所需的引數。 如果感興趣的作業不需要任何引數,您可以省略引數參數。

arguments 參數是單一字串。 字串中的每一個個別引數都可以包含空格。

範例輸出

指令會傳回顯示呼叫結果的字串。

範例

  • 使用 Jacl:
    set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] 
    $AdminControl invoke $objNameString stop
    set objNameString [$AdminControl completeObjectName WebSphere:type=DynaCache,*] 
    $AdminControl invoke $mbean getCacheStatistics {"DiskCacheSizeInMB ObjectsReadFromDisk4000K
     RemoteObjectMisses"}
    避免麻煩: 在發出之前的指令之前,請確定已定義 mbean 變數 $mbean
  • 使用 Jython:
    objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') 
    print AdminControl.invoke(objNameString, 'stop')
    objNameString = AdminControl.completeObjectName("WebSpheretype=DynaCache,*") 
    	AdminControl.invoke(dc, "getCacheStatistics", '["DiskCacheSizeInMB ObjectReadFromDisk4000K
     RemoteObjectMisses"]')
  • 使用 Jython 清單:
    objNameString = AdminControl.completeObjectName("WebSphere:type=DynaCache,*") 
    AdminControl.invoke(dc, "getCacheStatistics", [["DiskCacheSizeInMB", "ObjectReadFromDisk4000K", 
    "RemoteObjectMisses"]])

invoke_jmx

使用 invoke_jmx 指令,透過符合簽章的參數清單來呼叫物件作業。 指令會傳回呼叫的結果。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (ObjectName)
作業
指定要呼叫的作業。 (java.lang.String)

選用參數

引數
指定作業所需的引數。 如果感興趣的作業不需要任何引數,您可以省略引數參數。 (java.lang.String[] 或 java.lang.Object[])

範例輸出

指令會傳回顯示呼叫結果的字串。

範例

  • 使用 Jacl:
    set objNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*] 
    set objName [java::new javax.management.ObjectName $objNameString] 
    set parms [java::new {java.lang.Object[]} 1 com.ibm.ejs.sm.*=all=disabled] 
    set signature [java::new {java.lang.String[]} 1 java.lang.String] 
    $AdminControl invoke_jmx $objName $parms $signature
  • 使用 Jython:
    objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*') 
    import  javax.management  as  mgmt 
    objName =  mgmt.ObjectName(objNameString) 
    parms = ['com.ibm.ejs.sm.*=all=disabled'] 
    signature = ['java.lang.String'] 
    print AdminControl.invoke_jmx(objName, parms, signature)

isRegistered

使用 isRegistered 指令,判斷是否已登錄特定的物件名稱。

目標物件

無。

必要參數

物件名稱
指定感興趣的物件名稱。 (java.lang.String)

選用參數

無。

範例輸出

指令會傳回屬意物件的布林值。 如果 ObjectName 值登錄在伺服器中,則值是1,如下列範例所示:
wsadmin>s = AdminControl.queryNames( 'type=Server,*' ).splitlines()[ 0 ]
wsadmin>AdminControl.isRegistered( s )
1
wsadmin>

如果 ObjectName 值未登錄在伺服器中,則值是0.

範例

  • 使用 Jacl:
    set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] 
    $AdminControl isRegistered $objNameString 
  • 使用 Jython:
    objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') 
    print AdminControl.isRegistered(objNameString)

isRegistered_jmx

請使用 isRegistered_jmx 指令來判斷是否已登錄特定的物件名稱。

目標物件

無。

必要參數

物件名稱
指定感興趣的物件名稱。 (java.lang.String)

選用參數

無。

範例輸出

指令會傳回屬意物件的布林值。 如果 ObjectName 值登錄在伺服器中,則值是true,如下列範例所示:
true

範例

  • 使用 Jacl:
    set objectNameString [$AdminControl completeObjectName type=Server,*]
    set objName [$AdminControl makeObjectName $objNameString]
    $AdminControl isRegistered_jmx $objName 
  • 使用 Jython:
    objectNameString = AdminControl.completeObjectName('type=Server,*')
    objName = AdminControl.makeObjectName(objectNameString)
    print AdminControl.isRegistered_jmx(objName)

makeObject名稱

使用 makeObjectName 指令,以根據字串輸入來建立 ObjectName 值。 這個指令不會與伺服器通訊,因此所產生的 ObjectName 值可能不存在。 如果您提供的字串包含一組額外的雙引號,則會移除它們。 如果字串不是以「Java 管理延伸 (JMX)」網域或後面接著冒號的字串開頭,則 WebSphere® Application Server 字串會在名稱後面附加。

目標物件

無。

必要參數

物件名稱
指定感興趣的物件名稱。 (java.lang.String)

選用參數

無。

範例輸出

指令會傳回從物件名稱字串建構的 Objectname 物件。

範例

  • 使用 Jacl:
    set objectNameString [$AdminControl completeObjectName type=Server,node=mynode,*]
    set objName [$AdminControl makeObjectName $objNameString]
  • 使用 Jython:
    objectNameString = AdminControl.completeObjectName('type=Server,node=mynode,*')
    objName = AdminControl.makeObjectName(objectNameString)

queryMBeans

使用 queryMBeans 指令來查詢符合您提供之物件名稱的物件實例清單。

目標物件

無。

必要參數

物件名稱
指定感興趣的物件名稱。 (ObjectName)

選用參數

query
指定查詢表示式。 (QueryExp)

範例輸出

指令會傳回所指定物件名稱的物件實例清單,如下列範例所示:
WebSphere:name=PlantsByWebSphere,process=server1,platform=dynamicproxy,node=Goodog,
J2EEName=PlantsByWebSphere,Server=server1,version=6.1.0.0,type=Application,
mbeanIdentifier=cells/GooddogNode02Cell/applications/PlantsByWebSphere.ear/
deployments/PlantsByWebSphere/deployment.xml#ApplicationDeployment_1126623343902,
cell=GooddogNode02Cell

範例

  • 使用 Jacl:
    set apps [$AdminControl queryMBeans type=Application,*]
    請使用下列範例來操作 queryMBeans 指令的回覆值:
    set appArray [$apps toArray]
    set app1 [java::cast javax.management.ObjectInstance [$appArray get 0]]
    puts [[$app1 getObjectName] toString]
    下列範例指定物件名稱及查詢表示式:
    set apps [$AdminControl queryMBeans type=Application,* [java::null]]
    請使用下列範例來操作 queryMBeans 指令的回覆值:
    set appArray [$apps toArray]
    set app1 [java::cast javax.management.ObjectInstance [$appArray get 0]]
    puts [[$app1 getObjectName] toString] 
    
  • 使用 Jython:
    apps = AdminControl.queryMBeans('type=Application,*')
    請使用下列範例來操作 queryMBeans 指令的回覆值:
    appArray = apps.toArray()
    app1 = appArray[0]
    print app1.getObjectName().toString()
    下列範例指定物件名稱及查詢表示式:
    apps = AdminControl.queryMBeans('type=Application,*',None)
    
    請使用下列範例來操作 queryMBeans 指令的回覆值:
    appArray = apps.toArray()
    app1 = appArray[0]
    print app1.getObjectName().toString()

queryNames

使用 queryNames 指令,根據名稱範本來查詢每一個 ObjectName 物件的清單。

目標物件

無。

必要參數

物件名稱
指定感興趣的物件名稱。 您可以使用星號字元 (*) 來指定物件名稱參數的萬用字元。 (java.lang.String)

選用參數

無。

範例輸出

指令會傳回包含符合輸入物件名稱之 ObjectNames 的字串,如下列範例所示:
WebSphere:cell=BaseApplicationServerCell,
name=server1,mbeanIdentifier=server1,
type=Server,node=mynode,process=server1 

範例

  • 使用 Jacl:
    $AdminControl queryNames WebSphere:type=Server,* 
  • 使用 Jython:
    print AdminControl.queryNames('WebSphere:type=Server,*')

queryNames_jmx

使用 queryNames_jmx 指令,根據您指定的名稱範本及查詢條件來查詢每一個 ObjectName 物件的清單。

目標物件

無。

必要參數

物件名稱
指定感興趣的物件名稱。 您可以使用星號字元 (*) 來指定物件名稱參數的萬用字元。 (ObjectName)
query
指定要使用的查詢表示式。 (javax.management.QueryExp)

選用參數

無。

範例輸出

指令會傳回包含符合輸入物件名稱之 ObjectNames 的字串,如下列範例所示:
[WebSphere:cell=BaseApplicationServerCell,name=server1,mbeanIdentifier=
server1,type=Server,node=mynode,process=server1] 

範例

  • 使用 Jacl:
    set objectNameString [$AdminControl completeObjectName type=Server,*]
    set objName [$AdminControl makeObjectName $objNameString]
    set null [java::null]
    $AdminControl queryNames_jmx $objName $null
  • 使用 Jython:
    objectNameString = AdminControl.completeObjectName('type=Server,*')
    objName = AdminControl.makeObjectName(objectNameString)
    print AdminControl.queryNames_jmx(objName, None)

重新連接

請使用 reconnect 指令來重新連接伺服器,並清除本端快取中的資訊。

目標物件

無。

必要參數

無。

選用參數

無。

範例輸出

指令會傳回一則訊息,顯示作業的狀態,如下列範例所示:
WASX7074I: Reconnect of SOAP connector to host myhost completed.

範例

  • 使用 Jacl:
    $AdminControl reconnect 
  • 使用 Jython:
    print AdminControl.reconnect()

setAttribute

使用 setAttribute 指令來設定您所提供名稱的屬性值。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (java.lang.String)
屬性名稱
指定要設定的屬性名稱。 (java.lang.String)
屬性值
指定相關屬性的值。 (java.lang.String)

選用參數

無。

範例輸出

指令傳回不會傳回輸出。

範例

  • 使用 Jacl:
    set objNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*] 
    $AdminControl setAttribute $objNameString traceSpecification com.ibm.*=all=disabled 
  • 使用 Jython:
    objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*') 
    print AdminControl.setAttribute(objNameString, 'traceSpecification',  'com.ibm.*=all=disabled')

setAttribute_jmx

使用 setAttribute_jmx 指令,為您提供的名稱設定屬性值。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (ObjectName)
屬性
指定要設定的屬性名稱。 (屬性)

選用參數

無。

範例輸出

指令傳回不會傳回輸出。

範例

  • 使用 Jacl:
    set objectNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*] 
    set objName [$AdminControl makeObjectName $objectNameString]
    set attr [java::new javax.management.Attribute traceSpecification com.ibm.*=all=disabled] 
    $AdminControl setAttribute_jmx $objName $attr 
    
  • 使用 Jython:
    objectNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*')
    import  javax.management  as  mgmt
    objName = AdminControl.makeObjectName(objectNameString)
    attr = mgmt.Attribute('traceSpecification', 'com.ibm.*=all=disabled')
    print AdminControl.setAttribute_jmx(objName, attr)

setAttributes

使用 setAttributes 指令來設定您提供之物件名稱的屬性值。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (字串)
屬性
指定要設定的屬性名稱。 (java.lang.String[] 或 java.lang.Object[])

選用參數

無。

範例輸出

指令會傳回由指令呼叫順利設定的物件名稱清單,如下列範例所示:
'[traceSpecification com.ibm.ws.*=all=enabled]'

範例

  • 使用 Jacl:
    set objNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*] 
    $AdminControl setAttributes $objNameString {{traceSpecification com.ibm.ws.*=all=enabled}} 
  • 搭配字串屬性使用 Jython:
    objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*') 
    AdminControl.setAttributes(objNameString, '[[traceSpecification "com.ibm.ws.*=all=enabled"]]')
  • 搭配物件屬性使用 Jython:
    objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*') 
    print AdminControl.setAttributes(objNameString, [['traceSpecification', 'com.ibm.ws.*=all=enabled']])

setAttributes_jmx

使用 setAttributes_jmx 指令來設定您提供的物件名稱的屬性值。

目標物件

無。

必要參數

物件名稱
指定屬意 MBean 的物件名稱。 (字串)
屬性
指定要設定的屬性名稱。 (javax.management.AttributeList)

選用參數

無。

範例輸出

指令會傳回由指令呼叫順利設定的物件名稱屬性清單,如下列範例所示:
'[traceSpecification com.ibm.ws.*=all=enabled]'

範例

  • 使用 Jacl:
    set objectNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*] 
    set objName [$AdminControl makeObjectName $objectNameString] 
    set attr [java::new javax.management.Attribute traceSpecification com.ibm.ws.*=all=enabled] 
    set alist [java::new javax.management.AttributeList] 
    $alist add $attr 
    $AdminControl setAttributes_jmx $objName $alist
  • 使用 Jython:
    objectNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*')
    import  javax.management  as  mgmt 
    objName = AdminControl.makeObjectName(objectNameString) 
    attr = mgmt.Attribute('traceSpecification', 'com.ibm.ws.*=all=enabled') 
    alist = mgmt.AttributeList() 
    alist.add(attr)
    print AdminControl.setAttributes_jmx(objName, alist)

startServer

請利用 startServer 指令,在配置中找到指定的應用程式伺服器來啟動它。 此指令會使用預設等待時間。 請使用下列準則來決定要使用哪些參數:
  • 如果 Scripting 程序附加到節點代理程式伺服器,您必須指定伺服器名稱。 您也可以指定選用的等待時間和節點名稱參數。
  • 如果 Scripting 程序附加到部署管理程式程序,您必須指定伺服器名稱和節點名稱。 您也可以指定選用的等待時間參數。

目標物件

無。

必要參數

伺服器名稱
指定要啟動的伺服器名稱。 (java.lang.String)

選用參數

節點名稱
指定相關節點的名稱。 (java.lang.String)
等待時間
指定啟動處理程序等待伺服器啟動的秒數。 預設等待時間為 1200 秒。 (java.lang.String)

範例輸出

伺服器已啟動。 正在等待起始設定狀態。 已開啟伺服器 server1 來進行電子商務;程序 ID 是 1932。

範例

使用 Jacl:
  • 下列範例只指定要啟動的伺服器名稱:
    $AdminControl startServer server1
  • 下列範例指定要啟動的伺服器名稱及等待時間:
    $AdminControl startServer server1 100
  • 下列範例指定要啟動的伺服器名稱及節點名稱:
    $AdminControl startServer server1 myNode
  • 下列範例指定伺服器名稱、節點名稱及等待時間:
    $AdminControl startServer server1 myNode 100
使用 Jython:
  • 下列範例只指定要啟動的伺服器名稱:
    AdminControl.startServer('server1')
  • 下列範例指定要啟動的伺服器名稱及等待時間:
    AdminControl.startServer('server1', 100)
  • 下列範例指定要啟動的伺服器名稱及節點名稱:
    AdminControl.startServer('server1', 'myNode')
  • 下列範例指定伺服器名稱、節點名稱及等待時間:
    AdminControl.startServer('server1', 'myNode', 100)

stopServer

使用 stopServer 指令,來停止指定的應用程式伺服器。 當 stopServer 指令在沒有立即或終止旗標的情況下執行時,伺服器會完成任何進行中的工作,但一旦開始停止程序,就不會接受任何新的工作。 請使用下列選項來決定要使用哪些參數:
  • 使用伺服器名稱和節點名稱參數來停止特定節點中的伺服器。
  • 請使用伺服器名稱和立即旗標參數來立即停止伺服器。 如果未指定此參數,系統會正常停止伺服器。
  • 使用伺服器名稱、節點名稱和立即旗標參數來立即停止特定節點的伺服器。
避免麻煩: 當您嘗試停止伺服器時,如果只指定伺服器名稱,則會發出錯誤訊息。

目標物件

無。

必要參數

伺服器名稱
指定要啟動的伺服器名稱。 (java.lang.String)

選用參數

節點名稱
指定相關節點的名稱。 (java.lang.String)
立即旗標
指定如果值設為,則立即停止伺服器immediate. 如果您指定立即旗標,則伺服器不會完成處理任何進行中的工作、不接受任何新的工作,並結束伺服器處理程序。 (java.lang.String)
終止旗標
指定伺服器處理程序應由作業系統終止。 (字串)

範例輸出

指令會傳回訊息,指出伺服器是否順利停止,如下列範例所示:
WASX7337I: Invoked stop for server "server1" Waiting for stop completion.
'WASX7264I: Stop completed for server "server1" on node "myNode"'

範例

使用 Jacl:
  • 下列範例只指定要停止的伺服器名稱:
    $AdminControl stopServer server1
  • 下列範例指定要停止的伺服器名稱,並指出伺服器應該立即停止:
    $AdminControl stopServer server1 immediate
  • 下列範例指定要停止的伺服器名稱及節點名稱:
    $AdminControl stopServer server1 myNode
  • 下列範例指定伺服器的名稱、節點的名稱,並指出伺服器應該立即停止:
    $AdminControl stopServer server1 myNode immediate
使用 Jython:
  • 下列範例指定要停止的伺服器名稱,並指出伺服器應該立即停止:
    AdminControl.stopServer('server1','immediate')
  • 下列範例指定要停止的伺服器名稱及節點名稱:
    AdminControl.stopServer('server1','myNode')
  • 下列範例指定伺服器的名稱、節點的名稱,並指出伺服器應該立即停止:
    AdminControl.stopServer('server1','myNode','immediate')

testConnection

使用 testConnection 指令來測試資料來源連線。 這個指令會使用位於配置儲存庫中的資料來源。 如果要測試的資料來源位於保留儲存庫更新的暫時工作區中,您必須將更新儲存至配置儲存庫,才能執行這個指令。 請搭配使用這個指令與對應於資料來源和 WAS40DataSource 物件類型的配置 ID。

目標物件

無。

必要參數

configuration ID
指定屬意資料來源物件的配置 ID。 (java.lang.String)

選用參數

無。

範例輸出

指令會傳回一則訊息,指出連線成功或連線有警告。 如果連線失敗,則會從伺服器建立異常狀況,指出錯誤。 例如:
WASX7217I: Connection to provided datasource was successful.

範例

  • 使用 Jacl:
    set ds [lindex [$AdminConfig list DataSource] 0] 
    $AdminControl testConnection $ds
  • 使用 Jython:
    # get line separator 
    import java.lang.System as sys
    lineSeparator = sys.getProperty('line.separator')
    ds = AdminConfig.list('DataSource').split(lineSeparator)[0]
    print AdminControl.testConnection(ds)

追蹤

使用 trace 指令可將 Scripting 程序的追蹤規格設定為您指定的值。

目標物件

無。

必要參數

追蹤規格
指定要針對 Scripting 程序啟用的追蹤。 (java.lang.String)

選用參數

無。

範例輸出

指令不傳回輸出。

範例

  • 使用 Jacl:
    $AdminControl trace com.ibm.ws.scripting.*=all=enabled
  • 使用 Jython:
    print AdminControl.trace('com.ibm.ws.scripting.*=all=enabled')