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
- Starten Sie das wsadmin-Scripting-Tool.
- 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)
- 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)
- 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: 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
- 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: 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 - 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)
- Erstellen Sie den Sitzungsmanager für die Anwendung. Beispiel:
- Speichern Sie die Konfigurationsänderungen. Verwenden Sie den folgenden Beispielbefehl, um Ihre Konfigurationsänderungen zu speichern:
AdminConfig.save()
- 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")
- Verwenden Sie das Script "syncActiveNodes", wie im folgenden Beispiel gezeigt, um die Änderungen an jeden Knoten in der Zelle weiterzugeben:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_sessionmgt
Dateiname:txml_sessionmgt.html