Configuración de bibliotecas compartidas utilizando scripts

Puede utilizar scripts si desea configurar una biblioteca compartida para servidores de aplicaciones. Las bibliotecas compartidas son archivos utilizados por varias aplicaciones. Cree una biblioteca compartida para reducir el número de archivos duplicados de biblioteca en el sistema.

Antes de empezar

Existen dos procedimientos para realizar esta tarea. El ejemplo de este tema utiliza el objeto AdminConfig para crear y configurar una biblioteca compartida. De manera alternativa, puede utilizar el script createSharedLibrary en la biblioteca de scripts AdminResources para configurar bibliotecas compartidas.

La biblioteca de scripts proporciona un conjunto de procedimientos para automatizar las funciones de administración más comunes. Puede ejecutar cada procedimiento de script de forma individual, o combinar varios procedimientos para desarrollar rápidamente nuevos scripts.

Procedimiento

  1. Inicie la herramienta de scripts wsadmin.
  2. Identifique el servidor y asígnelo a la variable server. Por ejemplo:
    • Utilizando Jacl:

      set serv [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]
    • Utilizando Jython:
      serv = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/')
      print serv
    Tabla 1. Elementos del mandato getid. En la tabla siguiente se describe cada elemento del mandato getid.
    Elemento Descripción
    estableciendo es un mandato Jacl
    serv es un nombre de variable
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    getid es un mandato AdminConfig
    Cell es un atributo
    micélula es el valor del atributo
    Node es un atributo
    mynode es el valor del atributo
    Server es un atributo
    server1 es el valor del atributo
    Salida de ejemplo:
    server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
  3. Cree la biblioteca compartida del servidor.

    A continuación se muestran ejemplos de cómo crear la biblioteca compartida utilizando Jacl o Jython.

    • Utilizando Jacl:

      [AIX Solaris HP-UX Linux Windows]
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath c:/mySharedLibraryClasspath}}
      [z/OS]
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath /mySharedLibraryClasspath}}
      [IBM i]
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath 
      /home/myProfile/mySharedLibraryClasspath}}
    • Utilizando Jython:

      [AIX Solaris HP-UX Linux Windows]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath',
      'c:/mySharedLibraryClasspath']])
      [z/OS]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath',
      '/mySharedLibraryClasspath']])
      [IBM i]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath',
      'home/myProfile/mySharedLibraryClasspath']])
    Avoid trouble Avoid trouble:
    • Si está utilizando Jython, y la vía de acceso de clases no contiene ningún espacio, puede utilizar un punto y coma (;) o un espacio como separador. Por ejemplo:
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar;test2.jar;test3.jar']]) 
      o bien
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar test2.jar test3.jar']])   
    • Si está utilizando Jacl, y la classpath contiene uno o más espacios, debe añadir llaves o comillas adicionales alrededor de la classpath. Por ejemplo:
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath {c:/Program Files/JDBC Driver/test.jar}}}
      o
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath "c:/Program Files/JDBC Driver/test.jar"}}
    • Si está utilizando Jython, y la vía de acceso de clases contiene uno de más espacios, debe utilizar un punto y coma (;) como separador. Por ejemplo:
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','c:/Program Files/JDBC Driver/test.jar;a.jar']])  
      o si sólo hay una vía de acceso:
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar test2.jar test3.jar']])   
    • Si está utilizando Jython, y la classpath contiene uno o más espacios, debe añadir llaves o comillas adicionales alrededor de la classpath. Por ejemplo:[AIX Solaris HP-UX Linux Windows]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], [['classPath',
      'c:/Program Files/JDBC Driver/test.jar']]])
      [z/OS]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], [['classPath',
      '/Program Files/JDBC Driver/test.jar']]])
      [IBM i]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], [['classPath',
      'home/myProfile/Program Files/JDBC Driver/test.jar']]])
      o bien [AIX Solaris HP-UX Linux Windows]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath',
      "'c:/Program Files/JDBC Driver/test.jar'"]])
      [z/OS]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath',
      "'/Program Files/JDBC Driver/test.jar'"]])
      [IBM i]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath',
      "'home/myProfile/Program Files/JDBC Driver/test.jar'"]])
    • Cuando utilice Jython, si la classpath contiene más de una vía de acceso, puede utilizar cualquier sintaxis de lista, o sintaxis de series delimitadas por un signo de punto y coma para especificar varias vías de acceso.

      Utilizando la sintaxis de lista:

      [AIX Solaris HP-UX Linux Windows]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], [classPath [test1.jar test2.jar test3.jar]]]')
      [z/OS]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath [test1.jar test2.jar test3.jar]]]')
      [IBM i]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath [test1.jar test2.jar test3.jar]]]')

      Utilizando la sintaxis de series delimitadas por un signo de punto y coma:

      [AIX Solaris HP-UX Linux Windows]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], [classPath,'test1.jar;test2.jar;test3.jar']])
      [z/OS]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], [classPath,'test1.jar;test2.jar;test3.jar']])
      [IBM i]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], [classPath,'test1.jar;test2.jar;test3.jar']])
    • Cuando utilice Jython, si la classpath contiene más de una vía de acceso, y una de lasclasspaths contienen uno o más espacios, encierre entre comillas la serie de vía de acceso que contiene los espacios. Por ejemplo:[AIX Solaris HP-UX Linux Windows]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], [classPath [test1.jar "C:/Program Files/JDBC Driver/test.jar" test3.jar]]]')
      [z/OS]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath [test1.jar "C:/Program Files/JDBC Driver/test.jar" test3.jar]]]')
      [IBM i]
      print AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'], ['classPath [test1.jar "C:/Program Files/JDBC Driver/test.jar" test3.jar]]]')
    gotcha
    Tabla 2. Elementos del mandato create Library. En la tabla siguiente se describe cada elemento del mandato create Library.
    Elemento Descripción
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    crear es un mandato AdminConfig
    Biblioteca es un atributo
    serv evalúa el ID del servidor especificado en el paso 1
    nombre es un atributo
    mySharedLibrary es un valor del atributo name
    classPath es un atributo
    /mySharedLibraryClasspath es el valor del atributo classpath
    print es un mandato Jython
    Resultado de ejemplo:
    MysharedLibrary(cells/mycell/nodes/mynode/servers/server1|libraries.xml#Library_1)
  4. Identifique el servidor de aplicaciones del servidor y asígnelo a la variable appServer. Por ejemplo:
    • Utilizando Jacl:

      set appServer [$AdminConfig list ApplicationServer $serv]
    • Utilizando Jython:
      appServer = AdminConfig.list('ApplicationServer', serv)
      print appServer
    Tabla 3. Elementos del mandato list. En la tabla siguiente se describe cada elemento del mandato create list.
    Elemento Descripción
    estableciendo es un mandato Jacl
    appServer es un nombre de variable
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    list es un mandato AdminConfig
    ApplicationServer es un atributo
    serv evalúa el ID del servidor especificado en el paso 1
    print es un mandato Jython
    Salida de ejemplo:
    server1(cells/mycell/nodes/mynode/servers/server1|server.xml#ApplicationServer_1
  5. Identifique el cargador de clases del servidor de aplicaciones y asígnelo a la variable classLoader. Por ejemplo:
    • Para utilizar el cargador de clases existente que está asociado al servidor, los mandatos siguientes utilizan el primer cargador de clases:
      • Utilizando Jacl:

        set classLoad [$AdminConfig showAttribute $appServer classloaders]
        set classLoader1 [lindex $classLoad 0]
      • Utilizando Jython:
        classLoad = AdminConfig.showAttribute(appServer, 'classloaders')
        cleanClassLoaders = classLoad[1:len(classLoad)-1]
        classLoader1 = cleanClassLoaders.split(' ')[0]
      Tabla 4. Elementos del mandato showAttribute. En la tabla siguiente se describe cada elemento del mandato showAttribute.
      Elemento Descripción
      estableciendo es un mandato Jacl
      classLoad, classLoader1 es un nombre de variable
      $ es un operador Jacl para sustituir un nombre de variable por su valor
      AdminConfig es un objeto que representa la configuración de WebSphere Application Server
      showAttribute es un mandato AdminConfig
      appServer evalúa el ID del servidor de aplicaciones especificado en el paso 3
      cargadores de clases es un atributo
      print es un mandato Jython
    • Para crear un cargador de clases nuevo, emita el siguiente mandato:
      • Utilizando Jacl:

        set classLoader1 [$AdminConfig create Classloader $appServer {{mode PARENT_FIRST}}]
      • Utilizando Jython:
        classLoader1 = AdminConfig.create('Classloader', appServer, [['mode',  'PARENT_FIRST']])
    Tabla 5. Elementos del mandato create Classloader. En la tabla siguiente se describe cada elemento del mandato create Classloader.
    Elemento Descripción
    estableciendo es un mandato Jacl
    classLoader1 es un nombre de variable
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    crear es un mandato AdminConfig
    Classloader es un atributo
    appServer evalúa el ID del servidor de aplicaciones especificado en el paso 3
    mode es un atributo
    PARENT_FIRST es el valor del atributo
    print es un mandato Jython
    Salida de ejemplo:
    (cells/mycell/nodes/mynode/servers/server1|server.xml#Classloader_1)
  6. Asocie la biblioteca compartida creada con el servidor de aplicaciones mediante el cargador de clases. Por ejemplo:
    • Utilizando Jacl:

      $AdminConfig create LibraryRef $classLoader1 {{libraryName MyshareLibrary}}

    • Utilizando Jython:
      print AdminConfig.create('LibraryRef', classLoader1, [['libraryName', 'MyshareLibrary']])
    Tabla 6. Elementos del mandato create LibraryRef. En la tabla siguiente se describen los elementos del mandato create LibraryRef.
    Elemento Descripción
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    crear es un mandato AdminConfig
    LibraryRef es un atributo
    classLoader1 evalúa el ID del cargador de clases especificado en el paso 4
    libraryName es un atributo
    MyshareLibrary es el valor del atributo
    print es un mandato Jython
    Salida de ejemplo:
    (cells/mycell/nodes/mynode/servers/server1|server.xml#LibraryRef_1)
  7. Guarde los cambios de configuración.
    Utilice el siguiente ejemplo de mandatos para guardar los cambios de configuración:
    AdminConfig.save()
  8. Sincronice el nodo.
    Utilice los scripts syncActiveNode o syncNode en la biblioteca de scripts AdminNodeManagement para propagar los cambios en la configuración en un nodo o nodos.
    • Utilice el script syncActiveNodes para propagar los cambios en todos los nodos de la célula, como se demuestra en el ejemplo siguiente:
      AdminNodeManagement.syncActiveNodes()
    • Utilice el script syncNode para propagar los cambios en un nodo específico, como se demuestra en el ejemplo siguiente:
      AdminNodeManagement.syncNode("miNodo")

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_library
File name: txml_library.html