使用 wsadmin Scripting 的 AdminControl 物件指令
請利用 AdminControl 物件來呼叫作業指令,以管理應用程式伺服器的物件。
許多 AdminControl 指令都有多個簽章,因此它們可以在原始模式中使用「Java 管理延伸 (JMX)」指定的參數來呼叫,或使用參數的字串來呼叫。 除了作業指令之外, AdminControl 物件還支援一些公用程式指令,用來追蹤、重新連接伺服器,以及轉換資料類型。
- completeObject名稱
- getAttribute
- getAttribute_jmx
- getAttributes
- getAttributes_jmx
- getCell
- getConfigID
- getDefault網域
- getDomain名稱
- getHost
- getMBean計數
- getMBeanInfo_jmx
- getNode
- getObject實例
- getPort
- getPropertiesForData來源 (已淘汰)
- getType
- 說明
- 呼叫
- invoke_jmx
- isRegistered
- isRegistered_jmx
- makeObject名稱
- queryMBeans
- queryNames
- queryNames_jmx
- 重新連接
- setAttribute
- setAttribute_jmx
- setAttributes
- setAttributes_jmx
- startServer
- stopServer
- testConnection
- 追蹤
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 指令,為您提供的名稱傳回屬性值。
- 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 的名稱。
目標物件
無。必要參數
無。選用參數
無。範例輸出
Mycell範例
- 使用 Jacl:
$AdminControl getCell - 使用 Jython:
print AdminControl.getCell()
getConfigID
使用 getConfigId 指令,從 ObjectName 或 ObjectName 片段建立配置 ID。 每一個 MBean 都沒有對應的配置物件。 如果有數個 MBean 對應於 ObjectName 片段,則會建立警告,且會針對系統找到的第一個 MBean 建置配置 ID。
目標物件
無。必要參數
- 物件名稱
- 指定感興趣物件的名稱。 物件名稱字串可以是萬用字元,以星號字元 (*) 指定。
選用參數
無。範例輸出
指令會傳回包含相關配置 ID 的字串。
範例
- 使用 Jacl:
set threadpoolCID [$AdminControl getConfigId node=mynode,type=ThreadPool,*]set serverConfigId [$AdminControl getConfigId node=SY1,type=Server,*] - 使用 Jython:
threadpoolCID = AdminControl.getConfigId('node=mynode,type=ThreadPool,*')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 數目。
目標物件
無。必要參數
無。選用參數
無。範例輸出
151範例
- 使用 Jacl:
$AdminControl getMBeanCount - 使用 Jython:
print AdminControl.getMBeanCount()
getMBeanInfo_jmx
使用 getMBeanInfo_jmx 指令來傳回對應於 ObjectName 值的 Java 管理延伸 MBeanInfo 結構。 這個指令沒有字串簽章,因為 Help 物件會顯示 getMBeanInfo_jmx 指令所提供的大部分資訊。
目標物件
無。必要參數
- 物件名稱
- 指定屬意 MBean 的物件名稱。 (ObjectName)
選用參數
無。範例輸出
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:
請使用下列範例來操作 getObject實例指令的回覆值:set server [$AdminControl completeObjectName type=Server,*] set serverOI [$AdminControl getObjectInstance $server]puts [$serverOI getClassName] - 使用 Jython:
請使用下列範例來操作 getObject實例指令的回覆值:server = AdminControl.completeObjectName('type=Server,*') serverOI = AdminControl.getObjectInstance(server)print serverOI.getClassName()
getPort
使用 getPort 指令來傳回用於 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 連線的連線類型。
目標物件
無。必要參數
無。選用參數
無。範例輸出
SOAP範例
- 使用 Jacl:
$AdminControl getType - 使用 Jython:
print AdminControl.getType()
help
使用 help 指令來傳回 AdminControl 物件的一般說明文字。
目標物件
無。必要參數
無。選用參數
- 指令
- 指定要傳回說明資訊的指令。 指令名稱不區分大小寫。
範例輸出
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 specificationWASX7043I: 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 stopset 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)
選用參數
無。範例輸出
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)
選用參數
無。範例輸出
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]下列範例指定物件名稱及查詢表示式:
請使用下列範例來操作 queryMBeans 指令的回覆值:set apps [$AdminControl queryMBeans type=Application,* [java::null]]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()下列範例指定物件名稱及查詢表示式:
請使用下列範例來操作 queryMBeans 指令的回覆值:apps = AdminControl.queryMBeans('type=Application,*',None)appArray = apps.toArray() app1 = appArray[0] print app1.getObjectName().toString()
queryNames
使用 queryNames 指令,根據名稱範本來查詢每一個 ObjectName 物件的清單。
目標物件
無。必要參數
- 物件名稱
- 指定感興趣的物件名稱。 您可以使用星號字元 (*) 來指定物件名稱參數的萬用字元。 (java.lang.String)
選用參數
無。範例輸出
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)
選用參數
無。範例輸出
[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
- 如果 Scripting 程序附加到節點代理程式伺服器,您必須指定伺服器名稱。 您也可以指定選用的等待時間和節點名稱參數。
- 如果 Scripting 程序附加到部署管理程式程序,您必須指定伺服器名稱和節點名稱。 您也可以指定選用的等待時間參數。
目標物件
無。必要參數
- 伺服器名稱
- 指定要啟動的伺服器名稱。 (java.lang.String)
選用參數
- 節點名稱
- 指定相關節點的名稱。 (java.lang.String)
- 等待時間
- 指定啟動處理程序等待伺服器啟動的秒數。 預設等待時間為 1200 秒。 (java.lang.String)
範例輸出
伺服器已啟動。 正在等待起始設定狀態。 已開啟伺服器 server1 來進行電子商務;程序 ID 是 1932。
範例
- 下列範例只指定要啟動的伺服器名稱:
$AdminControl startServer server1 - 下列範例指定要啟動的伺服器名稱及等待時間:
$AdminControl startServer server1 100 - 下列範例指定要啟動的伺服器名稱及節點名稱:
$AdminControl startServer server1 myNode - 下列範例指定伺服器名稱、節點名稱及等待時間:
$AdminControl startServer server1 myNode 100
- 下列範例只指定要啟動的伺服器名稱:
AdminControl.startServer('server1') - 下列範例指定要啟動的伺服器名稱及等待時間:
AdminControl.startServer('server1', 100) - 下列範例指定要啟動的伺服器名稱及節點名稱:
AdminControl.startServer('server1', 'myNode') - 下列範例指定伺服器名稱、節點名稱及等待時間:
AdminControl.startServer('server1', 'myNode', 100)
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"'範例
- 下列範例只指定要停止的伺服器名稱:
$AdminControl stopServer server1 - 下列範例指定要停止的伺服器名稱,並指出伺服器應該立即停止:
$AdminControl stopServer server1 immediate - 下列範例指定要停止的伺服器名稱及節點名稱:
$AdminControl stopServer server1 myNode - 下列範例指定伺服器的名稱、節點的名稱,並指出伺服器應該立即停止:
$AdminControl stopServer server1 myNode immediate
- 下列範例指定要停止的伺服器名稱,並指出伺服器應該立即停止:
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')