使用 wsadmin 脚本编制为应用程序配置共享库

本任务使用 AdminConfig 对象为应用程序配置共享库。共享库是多个应用程序使用的文件。创建共享库以减少系统上重复库文件的数目。

开始之前

可通过两种方法来完成本任务。本主题中的示例使用 AdminConfig 对象来创建和配置共享库。或者,您可以使用 AdminResources 脚本库中的 createSharedLibrary 脚本来配置共享库。

脚本库提供了一组过程,可自动执行最常见的管理功能。 可以逐个运行每个脚本过程,也可以将几个过程组合在一起来快速开发新脚本。

过程

  1. 启动 wsadmin 脚本编制工具。
  2. 标识共享库并将其指定给库变量。您可以使用现有的共享库或创建一个新的,例如:
    • 要创建新的共享库,执行以下步骤:
      1. 标识节点并将其指定给一个变量,例如:
        • 使用 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)
      2. 在节点中创建共享库。以下示例在节点作用域中创建新的共享库。您可以修改它来使用单元或服务器作用域。
        • 使用 Jacl:

          [AIX Solaris HP-UX Linux Windows]
          set library [$AdminConfig create Library $n1 {{name mySharedLibrary} 
          {classPath c:/mySharedLibraryClasspath}}]
          [z/OS]
          set library [$AdminConfig create Library $n1 {{name mySharedLibrary} 
          {classPath /mySharedLibraryClasspath}}]
        • 使用 Jython:

          [AIX Solaris HP-UX Linux Windows]
          library = AdminConfig.create('Library', n1, [['name', 'mySharedLibrary'], 
          ['classPath', 'c:/mySharedLibraryClasspath']])
          
          print library
          [z/OS]
          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)
  3. 识别应用程序的部署配置对象,并将其指定给 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)
  4. 检索应用程序部署并将其指定给 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)
  5. 识别应用程序部署中的类装入器并将其指定给 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)
  6. 通过类装入器在应用程序中与共享库相关联。例如:
    • 使用 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)
  7. 保存配置更改。
    请使用以下命令示例来保存配置更改:
    AdminConfig.save()
  8. 使节点同步。
    使用 AdminNodeManagement 脚本库中的 syncActiveNode 或 syncNode 脚本将配置更改传播至一个或多个节点。
    • 使用 syncActiveNodes 脚本将更改传播至单元中的每个节点,如以下示例所示:
      AdminNodeManagement.syncActiveNodes()
    • 使用 syncNode 脚本将更改传播至特定节点,如以下示例所示:
      AdminNodeManagement.syncNode("myNode")

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_applibrary
文件名:txml_applibrary.html