Anwendungen mit Scripting für die Sitzungsverwaltung konfigurieren

Diese Task zeigt ein Beispiel, in dem das Objekt "AdminConfig" verwendet wird, um einen Sitzungsmanager für die Anwendung zu konfigurieren.

Vorbereitende Schritte

Eine Anwendung muss in einem aktiven Server installiert werden.

Informationen zu diesem Vorgang

Sie können mit dem Objekt "AdminConfig" bestimmte Konfigurationen in einer Anwendung festlegen. Einige Konfigurationseinstellungen sind über das Objekt "AdminConfig" nicht verfügbar.

Vorgehensweise

  1. Starten Sie das wsadmin-Scripting-Tool.
  2. Geben Sie das Konfigurationsobjekt für die Implementierung an, und ordnen Sie es der Variablen "deployment" zu.
    Anmerkung: Dieser Schritt ist für eine OSGi-Anwendung nicht erforderlich.
    Beispiel:
    • Mit Jacl:
      test
      set deployments [$AdminConfig getid /Deployment:myApp/]
    • Mit Jython:
      deployments = AdminConfig.getid('/Deployment:myApp/')
      print deployments
    Für diese Angaben gilt Folgendes:
    Tabelle 1. Elemente des Befehls "getid". Führen Sie den Befehl "getid" aus, um ein Implementierungsobjekt zu identifizieren.
    Element Beschreibung
    set Jacl-Befehl
    deployments 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
    Implementierung Attribut
    myApp der Wert des Attributs
    Beispielausgabe:
    myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
  3. Rufen Sie das Implementierungsobjekt für die Anwendung ab und ordnen Sie es der Variablen appDeploy zu. Beispiel:
    • Mit Jacl:
      set appDeploy [$AdminConfig showAttribute $deployments deployedObject]
    • Mit Jython:
      appDeploy = AdminConfig.showAttribute(deployments, 'deployedObject')
      print appDeploy
    Anmerkung: Verwenden Sie für eine OSGi-Anwendung den folgenden Jython-Code für diesen Schritt:
    appDeploy = AdminTask.getOSGiApplicationDeployedObject('-cuName Name_der_Kompositionseinheit')
    Für diese Angaben gilt Folgendes:
    Tabelle 2. Elemente des Befehls "set". Führen Sie den Befehl "set" aus, um dem Implementierungsobjekt einen Wert zuzuordnen.
    Element Beschreibung
    set Jacl-Befehl
    appDeploy Variablenname
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt.
    AdminConfig Ein Objekt, das die Konfiguration von WebSphere Application Server darstellt.
    showAttribute AdminConfig-Befehl
    deployments ergibt nach Auswertung die ID des in Schritt 1 angegebenen Implementierungsobjekts
    deployedObject Attribut
    Name_der_Kompositionseinheit Name der Kompositionseinheit.
    Beispielausgabe:
    (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationDeployment_1)
  4. Mit dem Befehl attributes können Sie eine Liste der Attribute abrufen, die für den Sitzungsmanager festgelegt werden können. Beispiel:
    • Mit Jacl:
      $AdminConfig attributes SessionManager
    • Mit Jython:
      print AdminConfig.attributes('SessionManager')
    Für diese Angaben gilt Folgendes:
    Tabelle 3. Elemente des Befehls "attributes". Führen Sie den Befehl "attributes" aus, um Attribute eines Sitzungsmanagers aufzulisten.
    Element Beschreibung
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt.
    AdminConfig Ein Objekt, das die Konfiguration von WebSphere Application Server darstellt.
    attributes AdminConfig-Befehl
    SessionManager Attribut
    Beispielausgabe:
    "accessSessionOnTimeout Boolean"
    "allowSerializedSessionAccess Boolean"
    "context ServiceContext@"
    "defaultCookieSettings Cookie"
    "enable Boolean"
    "enableCookies Boolean"
    "enableProtocolSwitchRewriting Boolean"
    "enableSSLTracking Boolean"
    "enableSecurityIntegration Boolean"
    "enableUrlRewriting Boolean"
    "maxWaitTime Integer"
    "properties Property(TypedProperty)*"
    "sessionDRSPersistence DRSSettings"
    "sessionDatabasePersistence SessionDatabasePersistence"
    "sessionPersistenceMode ENUM(DATABASE, DATA_REPLICATION, NONE)"
    "tuningParams TuningParams"

    Wenn Sie eine Anwendung für Sitzungsverwaltung konfigurieren, wid empfohlen, jedes Attribut anzugeben.

    Fehler vermeiden Fehler vermeiden: Wenn Sie die Sitzungsmanagementattribute für einen Cluster festlegen, müssen Sie auch das Element "targetMappings" des AdminConfig-Objekts für den Cluster aktualisieren, bevor die Einstellungen, die Sie für das Element "sessionManagment" angeben, wirksam werden. Wenn Sie das Element "targetMappings" nicht aktualisieren, werden die Einstellung nicht wirksam, obwohl sie in der Datei "deployment.xml" erscheinen.gotcha
  5. Konfigurieren Sie die Attribute für den Sitzungsmanager.

    Im folgenden Beispiel werden vier Attribute der höchsten Ebene im Sitzungsmanager konfiguriert. Sie können das Beispiel ändern, um andere Attribute des Sitzungsmanager einschließlich der verschachtelten Attribute in den Objekttypen DRSSettings, SessionDataPersistence und TuningParms festzulegen.

    Fehler vermeiden Fehler vermeiden: Der Sitzungsmanager setzt voraus, dass Sie die Attribute "The defaultCookieSettings" und "tuningParams" setzen, bevor Sie eine Anwendung initialisieren. Wenn Sie diese Attribute nicht setzen, kann der Sitzungsmanager die Anwendung nicht initialisieren, und die Anwendung wird nicht gestartet. gotcha

    Wenn Sie die Attribute für diese Objekttypen auflisten möchten, verwenden Sie den Befehl attributes des AdminConfig-Objekts.

    • Mit Jacl:
      set attr1 [list enableSecurityIntegration true]
      set attr2 [list maxWaitTime 30]
      set attr3 [list sessionPersistenceMode NONE]
      set kuki [list maximumAge -1]
      set cookie [list $kuki]
      Set cookieSettings [list defaultCookieSettings $cookie]
      set attrs [list $attr1 $attr2 $attr3 $cookieSettings]
      set sessionMgr [list sessionManagement $attrs]
      Beispielausgabe bei der Verwendung von Jacl:
      sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} 
      {defaultCookieSettings {{maximumAge -1}}}}
    • Mit Jython:
      attr1 = ['enableSecurityIntegration', 'true']
      attr2 = ['maxWaitTime', 30]
      attr3 = ['sessionPersistenceMode', 'NONE']
      kuki = ['maximumAge', -1] 
      cookie = [kuki]
      cookieSettings = ['defaultCookieSettings', cookie]
      attrs = [attr1, attr2, attr3, cookieSettings]
      sessionMgr = [['sessionManagement', attrs]]
      Beispielausgabe bei der Verwendung von Jython:
      [[sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE], 
      [defaultCookieSettings [[maximumAge, -1]]]]
    Für diese Angaben gilt Folgendes:
    Tabelle 4. Elemente des Befehls "set". Führen Sie den Befehl "set" aus, um Attribute für einen Sitzungsmanager festzulegen.
    Element Beschreibung
    set Jacl-Befehl
    attr1, attr2, attr3, attrs, sessionMgr Variablennamen
    $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt.
    enableSecurityIntegration Attribut
    true ein Wert des Attributs enableSecurityIntegration
    maxWaitTime Attribut
    30 ein Wert des Attributs maxWaitTime
    sessionPersistenceMode Attribut
    NONE ein Wert des Attributs sessionPersistenceMode
  6. Führen Sie dazu einen der folgenden Schritte aus:
    • Erstellen Sie den Sitzungsmanager für die Anwendung. Beispiel:
      • Mit Jacl:
        $AdminConfig create ApplicationConfig $appDeploy [list $sessionMgr]
      • Mit Jython:
        print AdminConfig.create('ApplicationConfig', appDeploy, sessionMgr)
      Für diese Angaben gilt Folgendes:
      Tabelle 5. Elemente des Befehls "create". Führen Sie den Befehl "create" aus, um einen Sitzungsmanager zu erstellen.
      Element Beschreibung
      $ Ein Jacl-Operator, der einen Variablennamen durch den Wert der Variablen ersetzt.
      AdminConfig Ein Objekt, das die Konfiguration von WebSphere Application Server darstellt.
      create AdminConfig-Befehl
      ApplicationConfig Attribut
      appDeploy ergibt nach Auswertung die ID der in Schritt 2 angegebenen implementierten Anwendung
      list Jacl-Befehl
      sessionMgr Ergibt nach Auswertung die ID des in Schritt 4 angegebenen Sitzungsmanager
      Beispielausgabe:
      (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationConfig_1)
    • Wenn bereits ein Sitzungsmanager vorhanden ist, aktualisieren Sie mit dem Befehl modify des Objekts AdminConfig die Konfiguration des Sitzungsmanagers. Beispiel:
      • Mit Jacl:
        set configs [lindex [$AdminConfig showAttribute $appDeploy configs] 0]
        set appConfig [lindex $configs 0]
        set SM [$AdminConfig showAttribute $appConfig sessionManagement]
        $AdminConfig modify $SM $attrs
      • Mit Jython:
        configs = AdminConfig.showAttribute (appDeploy, 'configs')
        appConfig = configs[1:len(configs)-1] 
        SM = AdminConfig.showAttribute (appConfig, 'sessionManagement') 
        AdminConfig.modify (SM, attrs)
  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_sessionmgt
Dateiname:txml_sessionmgt.html