Gemeinsam genutzte Bibliothek mit Scripting konfigurieren

Mit Scripting können Sie eine gemeinsam genutzte Bibliothek für Anwendungsserver konfigurieren. Gemeinsam genutzte Bibliotheken sind Dateien, die von mehreren Anwendungen verwendet werden. Sie erstellen eine gemeinsam genutzte Bibliothek, um die Anzahl doppelt vorhandener Bibliotheksdateien auf Ihrem System zu verringern.

Vorbereitende Schritte

Es gibt zwei Methoden für die Ausführung dieser Aufgabe. In dem Beispiel in diesem Artikel wird das Objekt "AdminConfig" verwendet, um eine gemeinsam genutzte Bibliothek zu erstellen und zu konfigurieren. Alternativ können Sie das Script "createSharedLibrary" aus der Scriptbibliothek "AdminResources" verwenden, um gemeinsam genutzte Bibliotheken zu konfigurieren.

Die Scripting-Bibliothek enthält eine Reihe von Prozeduren für die Automatisierung der am häufigsten verwendeten Verwaltungsfunktionen. Sie können jede Scriptprozedur einzeln ausführen oder mehrere Prozeduren kombinieren, um auf schnelle Weise neue Scripts zu entwickeln.

Vorgehensweise

  1. Starten Sie das wsadmin-Scripting-Tool.
  2. Identifizieren Sie den Server, und ordnen Sie ihn der Variablen "server" zu. Beispiel:
    • Mit Jacl:

      set serv [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]
    • Mit Jython:
      serv = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/')
      print serv
    Tabelle 1. Elemente des Befehls "getid". In der folgenden Tabelle sind die einzelnen Elemente des Befehls "getid" beschrieben.
    Element Beschreibung
    set Jacl-Befehl
    serv Variablenname
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server darstellt
    getid AdminConfig-Befehl
    Cell Attribut
    mycell Wert des Attributs
    Node Attribut
    mynode Wert des Attributs
    Server Attribut
    server1 Wert des Attributs
    Beispielausgabe:
    server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
  3. Die gemeinsam genutzte Bibliothek auf dem Server erstellen.

    Im Folgenden sehene Sie Beispiele für die Erstellung der gemeinsam genutzten Bibliothek mit Jacl oder Jython.

    • Mit 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}}
    • Mit 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']])
    Fehler vermeiden Fehler vermeiden:
    • Wenn Sie Jython verwenden und der Klassenpfad keine Leerzeichen enthält, können Sie ein Semikolon (;) oder ein Leerzeichen als Trennzeichen verwenden. Beispiel:
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar;test2.jar;test3.jar']]) 
      oder
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar test2.jar test3.jar']])   
    • Wenn Sie Jacl verwenden und der Klassenpfad Leerzeichen enthält, müssen Sie den Klassenpfad in geschweifte Klammern oder Fragezeichen einschließen. Beispiel:
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath {c:/Program Files/JDBC Driver/test.jar}}}
      oder
      $AdminConfig create Library $serv {{name mySharedLibrary} {classPath "c:/Program Files/JDBC Driver/test.jar"}}
    • Wenn Sie Jython verwenden und der Klassenpfad Leerzeichen enthält, müssen Sie ein Semikolon (;) als Trennzeichen verwenden. Beispiel:
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','c:/Program Files/JDBC Driver/test.jar;a.jar']])  
      oder (falls nur ein Pfad existiert):
      AdminConfig.create('Library', serv, [['name', 'mySharedLibrary'],              
      ['classPath','test1.jar test2.jar test3.jar']])   
    • Wenn Sie Jython verwenden und der Klassenpfad Leerzeichen enthält, müssen Sie den Klassenpfad in eckige Klammern oder Fragezeichen einschließen. Beispiel: [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']]])
      oder [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'"]])
    • Wenn Sie Jython verwenden und der Klassenpfad mehrere Pfade enthält, können Sie die Listensyntax oder Zeichenfolgesyntax mit Semikolons als Begrenzern verwenden, um diese Klassenpfade anzugeben.

      Verwendung der Listensyntax:

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

      Verwendung der Zeichenfolgesyntax mit Semikolons als Begrenzern:

      [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']])
    • Wenn Sie Jython verwenden, der Klassenpfad mehrere Pfade enthält und einer der Klassenpfade Leerzeichen enthält, schließen Sie die Pfadzeichenfolge mit den Leerzeichen in Fragezeichen ein. Beispiel: [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
    Tabelle 2. Elemente des Befehls "create Library". In der folgenden Tabelle sind die einzelnen Elemente des Befehls "create Library" beschrieben.
    Element Beschreibung
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server darstellt
    create AdminConfig-Befehl
    Library Attribut
    serv Ergibt nach Auswertung die ID des in Schritt 1 angegebenen Servers
    name Attribut
    mySharedLibrary Wert des Attributs "name"
    classPath Attribut
    /mySharedLibraryClasspath Wert des Attributs classpath
    print Jython-Befehl
    Beispielausgabe:
    MysharedLibrary(cells/mycell/nodes/mynode/servers/server1|libraries.xml#Library_1)
  4. Den Anwendungsserver über den Server angeben und der appServer-Variablen zuordnen. Beispiel:
    • Mit Jacl:

      set appServer [$AdminConfig list ApplicationServer $serv]
    • Mit Jython:
      appServer = AdminConfig.list('ApplicationServer', serv)
      print appServer
    Tabelle 3. Elemente des Befehls "list". In der folgenden Tabelle sind die einzelnen Elemente des Befehls "create list" beschrieben.
    Element Beschreibung
    set Jacl-Befehl
    appServer Variablenname
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server darstellt
    list AdminConfig-Befehl
    ApplicationServer Attribut
    serv Ergibt nach Auswertung die ID des in Schritt 1 angegebenen Servers
    print Jython-Befehl
    Beispielausgabe:
    server1(cells/mycell/nodes/mynode/servers/server1|server.xml#ApplicationServer_1
  5. Den Klassenlader auf dem Anwendungsserver angeben und der classLoader-Variablen zuordnen. Beispiel:
    • Wenn Sie den vorhandenen, dem Server zugeordneten Klassenlader verwenden möchten, beachten Sie, dass die folgenden Befehle den ersten Klassenlader verwenden:
      • Mit Jacl:

        set classLoad [$AdminConfig showAttribute $appServer classloaders]
        set classLoader1 [lindex $classLoad 0]
      • Mit Jython:
        classLoad = AdminConfig.showAttribute(appServer, 'classloaders')
        cleanClassLoaders = classLoad[1:len(classLoad)-1]
        classLoader1 = cleanClassLoaders.split(' ')[0]
      Tabelle 4. Elemente des Befehls "showAttribute". In der folgenden Tabelle sind die einzelnen Elemente des Befehls "showAttribute" beschrieben.
      Element Beschreibung
      set Jacl-Befehl
      classLoad, classLoader1 Variablenname
      $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
      AdminConfig Objekt, das die Konfiguration von WebSphere Application Server darstellt
      showAttribute AdminConfig-Befehl
      appServer Ergibt nach Auswertung die ID des in Schritt 3 angegebenen Anwendungsservers
      classloaders Attribut
      print Jython-Befehl
    • Setzen Sie zum Erstellen eines neuen Klassenladers den folgenden Befehl ab:
      • Mit Jacl:

        set classLoader1 [$AdminConfig create Classloader $appServer {{mode PARENT_FIRST}}]
      • Mit Jython:
        classLoader1 = AdminConfig.create('Classloader', appServer, [['mode',  'PARENT_FIRST']])
    Tabelle 5. Elemente des Befehls "create Classloader". In der folgenden Tabelle sind die einzelnen Elemente des Befehls "create Classloader" beschrieben.
    Element Beschreibung
    set Jacl-Befehl
    classLoader1 Variablenname
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server darstellt
    create AdminConfig-Befehl
    Classloader Attribut
    appServer Ergibt nach Auswertung die ID des in Schritt 3 angegebenen Anwendungsservers
    mode Attribut
    PARENT_FIRST Wert des Attributs
    print Jython-Befehl
    Beispielausgabe:
    (cells/mycell/nodes/mynode/servers/server1|server.xml#Classloader_1)
  6. Ordnen Sie mit dem Klassenlader die gemeinsam genutzte Bibliothek zu, die Sie für den Anwendungsserver erstellt haben. Beispiel:
    • Mit Jacl:

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

    • Mit Jython:
      print AdminConfig.create('LibraryRef', classLoader1, [['libraryName', 'MyshareLibrary']])
    Tabelle 6. Elemente des Befehls "create LibraryRef". In der folgenden Tabelle sind die einzelnen Elemente des Befehls "create LibraryRef" beschrieben.
    Element Beschreibung
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt
    AdminConfig Objekt, das die Konfiguration von WebSphere Application Server darstellt
    create AdminConfig-Befehl
    LibraryRef Attribut
    classLoader1 Ergibt nach Auswertung die ID des in Schritt 4 angegebenen Klassenladers
    libraryName Attribut
    MyshareLibrary Wert des Attributs
    print Jython-Befehl
    Beispielausgabe:
    (cells/mycell/nodes/mynode/servers/server1|server.xml#LibraryRef_1)
  7. Speichern Sie die Konfigurationsänderungen.
    Verwenden Sie den folgenden Beispielbefehl, um Ihre Konfigurationsänderungen zu speichern:
    AdminConfig.save()
  8. Synchronisieren Sie den Knoten.
    Verwenden Sie das Script "syncActiveNode" oder "syncNode" aus der Scriptbibliothek "AdminNodeManagement", um die Konfigurationsänderungen an Knoten weiterzugeben.
    • Verwenden Sie das Script "syncActiveNodes", wie im folgenden Beispiel gezeigt, um die Änderungen an jeden Knoten in der Zelle weiterzugeben:
      AdminNodeManagement.syncActiveNodes()
    • Verwenden Sie das Script "syncNode", wie im folgenden Beispiel gezeigt, um die Änderungen an einen bestimmten Knoten weiterzugeben:
      AdminNodeManagement.syncNode("myNode")

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_library
Dateiname:txml_library.html