Configuration d'une bibliothèque partagée à l'aide de scripts

Vous pouvez utiliser le scriptage pour configurer une bibliothèque partagée pour des serveurs d'applications. Les bibliothèques partagées sont des fichiers utilisés par plusieurs applications. Créez des bibliothèques partagées afin de réduire le nombre de fichiers de bibliothèque en double sur votre système.

Avant de commencer

Vous disposez de deux solutions pour mener à bien cette tâche. Grâce à l'exemple proposé dans cette rubrique, vous allez créer et configurer une bibliothèque partagée à l'aide de l'objet AdminConfig. Mais vous pouvez aussi configurer des bibliothèques partagées à l'aide du script createSharedLibrary de la bibliothèque de scripts AdminResources.

La bibliothèque de scripts propose un ensemble de procédures permettant d'automatiser les fonctions d'administration les plus courantes. Vous pouvez exécuter chaque procédure de script individuellement ou combiner plusieurs procédures pour développer rapidement de nouveaux scripts.

Procédure

  1. Démarrez l'outil de scriptage wsadmin.
  2. Identifiez le serveur et affectez-le à la variable server. Exemple :
    • A l'aide de Jacl :

      set serv [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]
    • Avec Jython :
      serv = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/')
      print serv
    Tableau 1. Eléments de la commande getid. Le tableau suivant décrit chaque élément de la commande getid.
    Elément Description
    set est une commande Jacl
    serv est un nom de variable
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    getid est une commande AdminConfig
    Cell est un attribut
    mycell est la valeur de l'attribut
    Node est un attribut
    mynode est la valeur de l'attribut
    Server est un attribut
    serveur1 est la valeur de l'attribut
    Exemple de sortie :
    server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
  3. Créez la bibliothèque partagée sur le serveur.

    Les exemples suivants expliquent comment créer la bibliothèque partagée en utilisant le langage Jacl ou Jython.

    • A l'aide de 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}}
    • Avec 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']])
    Eviter les incidents Eviter les incidents:
    • Si vous utilisez Jython et que le chemin d'accès aux classes ne contient pas d'espace, vous pouvez utiliser un point-virgule (;) ou un espace comme séparateur. Exemple :
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar;test2.jar;test3.jar']]) 
      ou
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar test2.jar test3.jar']])  
    • Si vous utilisez Jacl et que le chemin d'accès aux classes contient un ou plusieurs espaces, vous devez ajouter des accolades ou des guillemets supplémentaires autour du chemin d'accès aux classes. Exemple :
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath {c:/Program Files/JDBC Driver/test.jar}}}
      or
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath "c:/Program Files/JDBC Driver/test.jar"}}
    • Si vous utilisez Jython et que le chemin d'accès aux classes contient un ou plusieurs espaces, vous devez utiliser un point-virgule (;) comme séparateur. Exemple :
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','c:/Program Files/JDBC Driver/test.jar;a.jar']])
      ou s'il existe uniquement un chemin d'accès :
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar test2.jar test3.jar']])  
    • Si vous utilisez Jython et que le chemin d'accès aux classes contient un ou plusieurs espaces, vous devez ajouter des crochets ou des guillemets supplémentaires autour du chemin d'accès aux classes. Exemple :[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']]])
      ou [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'"]])
    • Avec Jython, si le chemin d'accès aux classes contient plusieurs chemins, vous pouvez utiliser la syntaxe de liste ou la syntaxe de chaîne délimitée par un point-virgule pour indiquer les chemins d'accès aux classes.

      Avec la syntaxe de liste :

      [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]]]')

      Avec la syntaxe de chaîne délimitée par un point-virgule :

      [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']])
    • Avec Jython, si le chemin d'accès aux classes contient plusieurs chemins et que l'un de ces chemins d'accès aux classes contient un ou plusieurs espaces, placez des guillemets autour de la chaîne du chemin contenant les espaces. Exemple :[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
    Tableau 2. Eléments de la commande create Library. Le tableau suivant décrit chaque élément de la commande create library.
    Elément Description
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    Créer est une commande AdminConfig
    Bibliothèque est un attribut
    serv a pour valeur l'ID de l'objet Deployment spécifié à l'étape numéro 1
    name est un attribut
    mySharedLibrary est une valeur de l'attribut name
    classPath est un attribut
    /mySharedLibraryClasspath est la valeur de l'attribut classpath
    print est une commande Jython
    Exemple de sortie :
    MysharedLibrary(cells/mycell/nodes/mynode/servers/server1|libraries.xml#Library_1)
  4. Identifiez le serveur d'applications à partir du serveur et affectez-le à la variable appServer. Exemple :
    • Avec Jacl :

      set appServer [$AdminConfig list ApplicationServer $serv]
    • Avec Jython :
      appServer = AdminConfig.list('ApplicationServer', serv)
      print appServer
    Tableau 3. Eléments de la commande list. Le tableau suivant décrit chaque élément de la commande create list.
    Elément Description
    set est une commande Jacl
    appServer est un nom de variable
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    list est une commande AdminConfig
    ApplicationServer est un attribut
    serv a pour valeur l'ID de l'objet Deployment spécifié à l'étape numéro 1
    print est une commande Jython
    Exemple de sortie :
    server1(cells/mycell/nodes/mynode/servers/server1|server.xml#ApplicationServer_1
  5. Identifiez le chargeur de classe dans le serveur d'applications et affectez-le à la variable classLoader . Exemple :
    • Pour utiliser le chargeur de classe existant associé au serveur, les commandes suivantes utilisent le premier chargeur de classe :
      • A l'aide de Jacl :

        set classLoad [$AdminConfig showAttribute $appServer classloaders]
        set classLoader1 [lindex $classLoad 0]
      • Avec Jython :
        classLoad = AdminConfig.showAttribute(appServer, 'classloaders')
        cleanClassLoaders = classLoad[1:len(classLoad)-1]
        classLoader1 = cleanClassLoaders.split(' ')[0]
      Tableau 4. Eléments de la commande showAttribute. Le tableau suivant décrit chaque élément de la commande showAttribute.
      Elément Description
      set est une commande Jacl
      classLoad, classLoader1 est un nom de variable
      $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
      AdminConfig est un objet représentant la configuration WebSphere Application Server
      showAttribute est une commande AdminConfig
      appServer a pour valeur l'ID du serveur d'applications spécifié à l'étape numéro 3
      classloaders est un attribut
      print est une commande Jython
    • Pour créer un chargeur de classe, exécutez la commande suivante :
      • A l'aide de Jacl :

        set classLoader1 [$AdminConfig create Classloader $appServer {{mode PARENT_FIRST}}]
      • Avec Jython :
        classLoader1 = AdminConfig.create('Classloader', appServer, [['mode',  'PARENT_FIRST']])
    Tableau 5. Eléments de la commande create Classloader. Le tableau suivant décrit chaque élément de la commande create Classloader.
    Elément Description
    set est une commande Jacl
    classLoader1 est un nom de variable
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    Créer est une commande AdminConfig
    Classloader est un attribut
    appServer a pour valeur l'ID du serveur d'applications spécifié à l'étape numéro 3
    mode est un attribut
    PARENT_FIRST est la valeur de l'attribut
    print est une commande Jython
    Exemple de sortie :
    (cells/mycell/nodes/mynode/servers/server1|server.xml#Classloader_1)
  6. Associez la bibliothèque partagée créée avec le serveur d'applications via le chargeur de classe. Exemple :
    • A l'aide de Jacl :

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

    • Avec Jython :
      print AdminConfig.create('LibraryRef', classLoader1, [['libraryName', 'MyshareLibrary']])
    Tableau 6. Eléments de la commande create LibraryRef. Le tableau suivant décrit chaque élément de la commande create LibraryRef.
    Elément Description
    $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    AdminConfig est un objet représentant la configuration WebSphere Application Server
    Créer est une commande AdminConfig
    LibraryRef est un attribut
    classLoader1 évalue l'ID du chargeur de classe spécifié à l'étape 4
    libraryName est un attribut
    MyshareLibrary est la valeur de l'attribut
    print est une commande Jython
    Exemple de sortie :
    (cells/mycell/nodes/mynode/servers/server1|server.xml#LibraryRef_1)
  7. Sauvegardez les modifications de configuration.
    Entrez l'exemple de commande suivante pour sauvegarder les modifications de configuration :
    AdminConfig.save()
  8. Synchronisez le noeud.
    Utilisez les scripts syncActiveNode ou syncNode de la bibliothèque de scripts AdminNodeManagement pour propager les modifications de configuration sur un ou plusieurs noeudsµµ.
    • Utilisez le script syncActiveNodes pour propager les modifications sur chacun des noeuds dans la cellule, comme dans l'exemple suivant :
      AdminNodeManagement.syncActiveNodes()
    • Utilisez le script syncNode pour propager les modifications sur un noeud spécifique, comme dans l'exemple suivant :
      AdminNodeManagement.syncNode("myNode")

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_library
Nom du fichier : txml_library.html