Modifying WAR class loader mode using wsadmin scripting
You can use scripting and the wsadmin tool to modify WAR class loader mode for applications.
Before you begin
Before starting this task, the wsadmin tool must be running. See the 使用 wsadmin Scripting 啟動 wsadmin Scripting 用戶端 topic for more information.
About this task
Attention: 如果應用程式在執行中,變更應用程式設定會使應用程式重新啟動。
在獨立式伺服器上,會在儲存變更之後重新啟動應用程式。
在多重伺服器產品上,會在儲存變更之後重新啟動應用程式,在安裝應用程式的節點上,檔案會同步化。
如果要控制多重伺服器產品上的同步化時機,請在「主控台」喜好設定頁面上取消選取與節點同步變更。
To modify WAR class loader mode for an application, complete the following steps:
Procedure
- Set a reference to the deployment.xml document. For example:
- Using Jacl:
set deployments [$AdminConfig getid /Deployment:my_application/]
Example output:
application_name(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#Deployment_1276887608391)
- Using Jython:
deployments = AdminConfig.getid('/Deployment:my_application/')
Table 1. Deployment configuration values. The following table describes the elements of the getid command. Element Definition set is a Jacl command deployments is a variable name $ is a Jacl operator for substituting a variable name with its value AdminConfig is an object that represents the WebSphere Application Server configuration getid is an AdminConfig command Deployment is an attribute my_application is an application in the profile_root/config/cells/cell_name/applications/ directory - Using Jacl:
- Set a reference to the deployedObject attribute within
the deployment.xml document and set it to the deployedObject variable. For example:
- Using Jacl:
set deploymentObject [$AdminConfig showAttribute $deployments deployedObject]
Example output:
(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#ApplicationDeployment_1276887608391)
- Using Jython:
deploymentObject = AdminConfig.showAttribute(deployments, 'deployedObject')
Table 2. Deployment configuration values. The following table describes the elements in this command. Element Definition set is a Jacl command deploymentObject is a variable name $ is a Jacl operator for substituting a variable name with its value AdminConfig is an object that represents the WebSphere Application Server configuration showAttribute is an AdminConfig command deployments is a variable to which the deployment.xml document is assigned deployedObject is an attribute within the deployment.xml document - Using Jacl:
- List the modules for the deployedObject attribute and set
the list to the myModules variable. For
example:
- Using Jacl:
set myModules [lindex [$AdminConfig showAttribute $deploymentObject modules] 0]
Example output:
(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#WebModuleDeployment_1276887608391) (cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#EJBModuleDeployment_1276887608391)
- Using Jython:
myModules = AdminConfig.showAttribute(deploymentObject, 'modules') myModules = myModules[1:len(myModules)-1].split(" ") print myModules
Example output:
['(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#WebModuleDeployment_1276887608391)', '(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#EJBModuleDeployment_1276887608391)']
Table 3. Deployment configuration values. The following table describes the elements in this command. Element Definition set is a Jacl command myModules is a variable name $ is a Jacl operator for substituting a variable name with its value AdminConfig is an object that represents the WebSphere Application Server configuration showAttribute is an AdminConfig command deployedObject is an attribute within the deployment.xml document modules is an attribute within the deployment.xml document - Using Jacl:
- Find the web module and set the mode for the class loader. For example:
- Using Jacl:
foreach module $myModules { if {[regexp WebModuleDeployment $module] == 1} { $AdminConfig modify $module {{classloaderMode mode}}}}
- Using Jython
for module in myModules: if (module.find('WebModuleDeployment')!= -1): AdminConfig.modify(module, [['classloaderMode', 'mode']])
Table 4. Deployment configuration values. The following table describes the elements in this command. Element Definition foreach is a Jacl command for is a Jython command module is an object that is being modified $ is a Jacl operator for substituting a variable name with its value myModules is a variable name regexp is a function to use regular expression is used for searching within the previous commands module.find is a function to use regular expression is used for searching within the previous commands AdminConfig is an object that represents the WebSphere Application Server configuration modify is an AdminConfig command classloaderMode is an attribute within the deployment.xml document mode is the class loader mode value that you want to set for the WAR module. The mode value is either PARENT_FIRST or PARENT_LAST. For more information, see the documentation about class loaders. - Using Jacl:
- Save the configuration, for example:
- Using Jacl:
$AdminConfig save
- Using Jython:
AdminConfig.save()
- Using Jacl:
- Verify the changes that you made to the attribute value
with the showall command. For example:
- Using Jacl:
$AdminConfig showall $module
- Using Jython:
AdminConfig.showall(module)
Example output:
{applicationDeployment (cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#ApplicationDeployment_1276887608391)} {classloader (cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#Classloader_1276887608392)} {classloaderMode mode} {configs {}} {deploymentId 1} {startingWeight 10000} {targetMappings {(cells/cell_name/applications/application_nameear/deployments/ application_name|deployment.xml#DeploymentTargetMapping_1276887608392)}} {uri WAR_file_name.war}
- Using Jacl:
Related concepts:
Related reference:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_warclmode
檔名:txml_warclmode.html