使用 wsadmin 脚本编制为应用程序配置共享库
本任务使用 AdminConfig 对象为应用程序配置共享库。共享库是多个应用程序使用的文件。创建共享库以减少系统上重复库文件的数目。
开始之前
可通过两种方法来完成本任务。本主题中的示例使用 AdminConfig 对象来创建和配置共享库。或者,您可以使用 AdminResources 脚本库中的 createSharedLibrary 脚本来配置共享库。
脚本库提供了一组过程,可自动执行最常见的管理功能。 可以逐个运行每个脚本过程,也可以将几个过程组合在一起来快速开发新脚本。
过程
- 启动 wsadmin 脚本编制工具。
- 标识共享库并将其指定给库变量。您可以使用现有的共享库或创建一个新的,例如:
- 要创建新的共享库,执行以下步骤:
- 标识节点并将其指定给一个变量,例如:
- 使用 Jacl:
set n1 [$AdminConfig getid /Cell:mycell/Node:mynode/]
- 使用 Jython:
n1 = AdminConfig.getid('/Cell:mycell/Node:mynode/') print n1
示例输出:表 1. getid 命令元素. 运行 getid 命令以标识共享库。 元素 描述 set 是 Jacl 命令 n1 是变量名 $ 是使用其值替换变量名的 Jacl 运算符 AdminConfig 是表示 WebSphere® Application Server 配置的对象 getid 是 AdminConfig 命令 单元 是对象类型 mycell 是将修改的对象名 节点 是对象类型 mynode 是将修改的对象名 mynode(cells/mycell/nodes/mynode|node.xml#Node_1)
- 在节点中创建共享库。以下示例在节点作用域中创建新的共享库。您可以修改它来使用单元或服务器作用域。
使用 Jacl:
set library [$AdminConfig create Library $n1 {{name mySharedLibrary} {classPath c:/mySharedLibraryClasspath}}]
set library [$AdminConfig create Library $n1 {{name mySharedLibrary} {classPath /mySharedLibraryClasspath}}]
使用 Jython:
library = AdminConfig.create('Library', n1, [['name', 'mySharedLibrary'], ['classPath', 'c:/mySharedLibraryClasspath']]) print library
library = AdminConfig.create('Library', n1, [['name', 'mySharedLibrary'], ['classPath', '/mySharedLibraryClasspath']]) print library
示例输出:表 2. create Library 命令元素. 运行 create 命令以创建共享库。 元素 描述 set 是 Jacl 命令 library 是变量名 $ 是使用其值替换变量名的 Jacl 运算符 AdminConfig 是表示 WebSphere Application Server 配置的对象 create 是 AdminConfig 命令 Library 是 AdminConfig 对象 n1 对步骤 1 中指定的主机节点标识所求的值 name 是属性 mySharedLibrary 是 name 属性的值 classPath 是属性 /mySharedLibraryClasspath 是 classPath 属性的值 MySharedLibrary(cells/mycell/nodes/mynode|libraries.xml#Library_1)
- 标识节点并将其指定给一个变量,例如:
- 要使用现有共享库,请发出以下命令:
- 使用 Jacl:
set library [$AdminConfig getid /Library:mySharedLibrary/]
- 使用 Jython:
library = AdminConfig.getid('/Library:mySharedLibrary/') print library
示例输出:表 3. getid 库命令元素. 运行 getid 命令以标识共享库。 元素 描述 set 是 Jacl 命令 library 是变量名 $ 是使用其值替换变量名的 Jacl 运算符 AdminConfig 是表示 WebSphere Application Server 配置的对象 getid 是 AdminConfig 命令 Library 是属性 mySharedLibrary 是 Library 属性的值 MySharedLibrary(cells/mycell/nodes/mynode|libraries.xml#Library_1)
- 要创建新的共享库,执行以下步骤:
- 识别应用程序的部署配置对象,并将其指定给 deployment 变量。例如:
- 使用 Jacl:
set deployment [$AdminConfig getid /Deployment:myApp/]
- 使用 Jython:
deployment = AdminConfig.getid('/Deployment:myApp/') print deployment
示例输出:表 4. getid 部署命令元素. 运行 getid 命令以标识部署对象。 元素 描述 set 是 Jacl 命令 部署 是变量名 $ 是使用其值替换变量名的 Jacl 运算符 AdminConfig 是表示 WebSphere Application Server 配置的对象 getid 是 AdminConfig 命令 部署 是属性 myApp 是 Deployment 属性的值 print 是 Jython 命令 myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
- 检索应用程序部署并将其指定给 appDeploy 变量。例如:
- 使用 Jacl:
set appDeploy [$AdminConfig showAttribute $deployment deployedObject]
- 使用 Jython:
appDeploy = AdminConfig.showAttribute(deployment, 'deployedObject') print appDeploy
示例输出:表 5. showAttribute 部署命令元素. 运行 showAttribute 命令来分配所部署的对象。 元素 描述 set 是 Jacl 命令 appDeploy 是变量名 $ 是使用其值替换变量名的 Jacl 运算符 AdminConfig 是表示 WebSphere Application Server 配置的对象 showAttribute 是 AdminConfig 命令 部署 对步骤 2 中指定的部署配置对象标识所求的值 deployedObject 是修改对象的属性 print 是 Jython 命令 (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationDeployment_1)
- 识别应用程序部署中的类装入器并将其指定给 classLoader 变量。例如:
- 使用 Jacl:
set classLoad1 [$AdminConfig showAttribute $appDeploy classloader]
- 使用 Jython:
classLoad1 = AdminConfig.showAttribute(appDeploy, 'classloader') print classLoad1
示例输出:表 6. showAttribute appDeploy 命令元素. 运行 showAttribute 命令来分配类装入器。 元素 描述 set 是 Jacl 命令 classLoad1 是变量名 $ 是使用其值替换变量名的 Jacl 运算符 AdminConfig 是表示 WebSphere Application Server 配置的对象 showAttribute 是 AdminConfig 命令 appDeploy 对步骤 3 中指定的应用程序部署标识所求的值 classLoader 是修改对象的属性 print 是 Jython 命令 (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Classloader_1)
- 通过类装入器在应用程序中与共享库相关联。例如:
- 使用 Jacl:
$AdminConfig create LibraryRef $classLoad1 {{libraryName MyshareLibrary}}
- 使用 Jython:
print AdminConfig.create('LibraryRef', classLoad1, [['libraryName', 'MyshareLibrary']])
示例输出:表 7. create LibraryRef 命令元素. 运行 create 命令以创建库引用。 元素 描述 $ 是使用其值替换变量名的 Jacl 运算符 AdminConfig 是表示 WebSphere Application Server 配置的对象 create 是 AdminConfig 命令 LibraryRef 是 AdminConfig 对象 classLoad1 对步骤 4 中指定的类装入器标识所求的值 libraryName 是属性 MyshareLibrary 是 libraryName 属性的值 (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#LibraryRef_1)
- 保存配置更改。 请使用以下命令示例来保存配置更改:
AdminConfig.save()
- 使节点同步。 使用 AdminNodeManagement 脚本库中的 syncActiveNode 或 syncNode 脚本将配置更改传播至一个或多个节点。
- 使用 syncActiveNodes 脚本将更改传播至单元中的每个节点,如以下示例所示:
AdminNodeManagement.syncActiveNodes()
- 使用 syncNode 脚本将更改传播至特定节点,如以下示例所示:
AdminNodeManagement.syncNode("myNode")
- 使用 syncActiveNodes 脚本将更改传播至单元中的每个节点,如以下示例所示:
相关任务:


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