Sie können Ihre Anwendung von WebSphere Application
Server
für die persistente Speicherung von Sitzungen in einem Datengrid konfigurieren.
Dieses Datengrid kann in einem integrierten Container-Server, der
in WebSphere Application
Server ausgeführt wird, oder in einem fernen Datengrid enthalten sein.
Vorbereitende Schritte
Bevor Sie die Konfiguration in
WebSphere Application
Server ändern, müssen folgende Voraussetzungen erfüllt sein:
- Sie müssen den Namen des des Sitzungsdatengrids kennen, das Sie verwenden möchten. Weitere Informationen zum Erstellen eines
Sitzungsdatengrids finden Sie unter HTTP-Sitzungsmanager mit WebSphere Application Server konfigurieren.
- Wenn der Katalogservice, den Sie für die Verwaltung Ihrer Sitzungen verwenden möchten, außerhalb der Zelle
befindet, in der Sie Ihre Sitzungsanwendung installieren, müssen Sie eine Katalogservicedomäne erstellen.
Weitere Informationen finden Sie unter Katalogservicedomänen in WebSphere Application Server erstellen.
- Wenn Sie eine Katalogservicedomäne konfigurieren, müssen Sie möglicherweise
die Clientsicherheit in der Katalogservicedomäne aktivieren, falls die Container-Server eine Authentifizierung erfordern.
Diese Einstellungen teilen der Laufzeitumgebung mit, welche Implementierung
CredentialGenerator verwendet werden muss.
Diese Implementierung generiert einen Berechtigungsnachweis, der an das ferne Datengrid übergeben wird.
Weitere Informationen zum Konfigurieren dieser Einstellungen finden Sie unter Clientsicherheit in einer Katalogservicedomäne konfigurieren.
- Die globale Sicherheit muss in der Administrationskonsole von WebSphere Application
Server aktiviert werden, wenn eines der folgenden
Szenarien unterstützt werden soll:
- In den Katalogservern in Ihrer Katalogservicedomäne ist Secure
Sockets Layer (SSL) aktiviert.
- Sie möchten SSL für eine Katalogservicedomäne mit SSL-Unterstützung verwenden.
Sie legen die SSL-Anforderung für einen Katalogserver fest, indem Sie das Attribut
transportType in der Servereigenschaftendatei auf SSL-Required setzen.
Weitere Informationen zum Konfigurieren der globalen Sicherheit finden Sie unter
Globale Sicherheitseinstellungen konfigurieren.
- Wenn Sie Version 7.1.0.3 oder höher verwenden, können Sie
Sitzungen, die URL-Umschreibung oder Cookies als Sitzungsüberwachungsmechanismus verwenden, persistent im Datengrid speichern. Sitzungen, die URL-Umschreibung als Sitzungsüberwachungsmechanismus verwenden, können für Releases vor Version 7.1.0.3
nicht persistent gespeichert werden. Zum Aktivieren der Persistenz von Sitzungen, die URL-Umschreibung verwenden,
setzen Sie nach der automatischen Verbindung der Anwendung die Eigenschaft useURLEncoding in der Datei splicer.properties
auf true.
- Wenn Sie Anwendungen für die HTTP-Sitzungsverwaltung in
WebSphere Application
Server automatisch verbinden,
ist in allen Anwendungsservern, die die Webanwendung hosten, die angepasste Eigenschaft HttpSessionIdReuse des Web-Containers Webcontainers web
auf true gesetzt. Diese Eigenschaft ermöglicht Sitzungen, die von einem
Anwendungsserver in einen anderen übernommen bzw. in einem fernen Szenario im speicherinternen Sitzungscache ungültig gemacht wurden, ihre Sitzungs-ID über mehrere Anforderungen hinweg beizubehalten.
Wenn Sie dieses Verhalten nicht wünschen, setzen Sie die angepasste Eigenschaft des Web-Containers
in allen fraglichen Anwendungsservern auf false, bevor Sie die Sitzungsverwaltung für die Anwendungen konfigurieren.
Weitere Informationen zu dieser angepassten Eigenschaft finden Sie unter Fehlerbehebung bei der Cacheintegration.
Vorgehensweise
- Gehen Sie wie folgt vor, um die Sitzungsverwaltung bei der Installation der Anwendung zu konfigurieren:
- Klicken Sie in der Administrationskonsole von WebSphere Application
Server
auf . Wählen Sie den Pfad Detailliert für die Erstellung
der Anwendung aus, und führen Sie die ersten Schritte im Assistenten aus.
- Konfigurieren Sie im Schritt eXtreme Scale - Einstellungen für die Sitzungsverwaltung
das Datengrid, das Sie verwenden möchten. Wählen Sie Fernes eXtreme-Scale-Datengrid oder
Integriertes eXtreme-Scale-Datengrid aus.
- Für die Option Fernes eXtreme-Scale-Datengrid
wählen Sie die Katalogservicedomäne aus, die das Sitzungsdatengrid verwaltet. Wählen Sie anschließend
in der Liste aktiver Sitzungsdatengrids ein Datengrid aus.
- Für die Option Integriertes eXtreme-Scale-Datengrid wählen Sie die
ObjectGrid-Standardkonfiguration aus, oder Sie geben Sie Position Ihrer ObjectGrid-Konfigurationsdateien
an.
- Führen Sie die Schritte im Assistenten aus, um Ihre Anwendung zu installieren.
Sie können die Anwendung auch mit einem wsadmin-Script installieren. Im folgenden
Beispiel erstellt der Parameter -SessionManagement dieselbe Konfiguration, die Sie auch über die
Administrationskonsole erstellen können:
Für die Konfiguration eines fernen eXtreme-Scale-Datengrids:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement cs0:!:grid0]]
-MapWebModToVH [[MicroWebApp microwebapp.war,WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
Für das integrierte eXtreme-Scale-Szenario
mit Standardkonfiguration:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement :!: :!:default]] -MapWebModToVH [[MicroWebApp microwebapp.war,
WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
Für das integrierte eXtreme-Scale-Szenario
mit einer angepassten Konfiguration:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement :!: :!:custom:!:c:\XS\objectgrid.xml:!:c:\XS\objectgriddeployment.xml]]
-MapWebModToVH [[MicroWebApp microwebapp.war,WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
- Gehen Sie wie folgt vor, um die Sitzungsverwaltung in einer vorhandenen Anwendung über die
Administrationskonsole von WebSphere Application
Server zu konfigurieren:
- Klicken Sie in der Administrationskonsole von WebSphere Application
Server auf
.
- Aktualisieren Sie die Felder, um die Sitzungspersistenz in einem Datengrid zu aktivieren.
Sie können die Anwendung auch mit einem wsadmin-Script aktualisieren.
Im folgenden Beispiel erstellt der Parameter -SessionManagement
dieselbe Konfiguration, die Sie auch über die Administrationskonsole erstellen können:
- Für die Fernkonfiguration des eXtreme-Scale-Datengrids:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSRemoteSessionManagement cs0:!:grid0]]]')
Die übergebenen Zeichen :!: werden als Begrenzungszeichen verwendet.
Die folgenden Werte werden übergeben: Katalogservicename:!:Gridname
- Für das integrierte eXtreme-Scale-Szenario mit Standardkonfiguration:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSEmbeddedSessionManagement :!:!:!:default]]]')
Die übergebenen Zeichen :!: werden als Begrenzungszeichen verwendet.
Die folgenden Werte werden übergeben: Katalogservicename:!:Gridname:!:default:!:
absoluter_Pfad_zur_ObjectGrid-XML-Datei:!:absoluter_Pfad_zur_XML-Implementierungsdatei
- Für das integrierte eXtreme-Scale-Szenario mit einer angepassten Konfiguration:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSEmbeddedSessionManagement
:!:!:!:custom:!:c:\XS\objectgrid.xml:!:c:\XS\objectgriddeployment.xml]]]')
Die übergebenen Zeichen :!: werden als Begrenzungszeichen verwendet.
Die folgenden Werte werden übergeben: Katalogservicename:!:Gridname:!:custom:!:
absoluter_Pfad_zur_ObjectGrid-XML-Datei:!:absoluter_Pfad_zur_XML-Implementierungsdatei
Wenn Sie die Änderungen speichern, verwendet die Anwendung das konfigurierte
Datengrid für die Sitzungspersistenz auf dem Gerät.
- Gehen Sie wie folgt vor, um die Sitzungsverwaltung in einem vorhandenen Server zu konfigurieren:
- Klicken Sie in der Administrationskonsole von WebSphere Application
Server auf
.
- Aktualisieren Sie die Felder, um die Sitzungspersistenz zu aktivieren.
Sie können die Sitzungsverwaltung auch mit den folgenden Befehlen des Tools
"wsadmin" in einem vorhandenen Server konfigurieren:
Für die Konfiguration eines fernen eXtreme-Scale-Datengrids:AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSRemoteSessionManagement -XSRemoteSessionManagement
[-catalogService cs0 -csGridName grid0]]')
Für die integrierte eXtreme-Scale-Konfiguration:- Standardkonfiguration bei Verwendung der XML-Standarddateien:
AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSEmbeddedSessionManagement
-XSEmbeddedSessionManagement [-embeddedGridType default -objectGridXML -objectGridDeploymentXML ]]')
- Angepasste Konfiguration bei Verwendung angepasster XML-Dateien:
AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSEmbeddedSessionManagement
-XSEmbeddedSessionManagement
[-embeddedGridType custom -objectGridXML c:\XS\objectgrid.xml -objectGridDeploymentXML
c:\XS\objectgriddeployment.xml]]')
Wenn Sie die Änderungen speichern, verwendet der Server das konfigurierte
Datengrid für die Sitzungspersistenz mit allen Anwendungen, die im Server
ausgeführt werden.
- Wenn Sie weitere Aspekte der HTTP-Sitzungskonfiguration ändern möchten, können Sie die Datei
splicer.properties bearbeiten. Sie können die Pfadposition der Datei splicer.properties
über die angepasste Eigenschaft sessionFilterProps abrufen.
Wenn Sie Sitzungspersistenz auf Serverbene konfiguriert haben, ist der Name der angepassten Eigenschaft
com.ibm.websphere.xs.sessionFilterProps.
Wenn Sie Sitzungspersistenz auf Anwendungsebene konfiguriert haben, ist der Name der angepassten
Eigenschaft <Anwendungsname>,com.ibm.websphere.xs.sessionFilterProps.
Diese angepassten Eigenschaften können an den folgenden Positionen angegeben werden:
- In einer Umgebung von WebSphere Application Server Network Deployment:
Die Datei splicer.properties befindet sich im Pfad des Deployment-Manager-Profils.
- In einer eigenständigen Umgebung von WebSphere Application
Server:
angepasste Eigenschaft im Anwendungsserver
Sie können die angegebene Datei öffnen,
Änderungen vornehmen und die Knoten dann synchronisieren, so dass die aktualisierte
Eigenschaftendatei an die anderen Knoten in der Konfiguration weitergegeben wird.
Alle Anwendungsserverknoten setzen voraus, dass sich die Datei splicer.properties
im angegebenen Pfad befindet, damit die Sitzungen ordnungsgemäß persistent gespeichert werden können.
Achtung: Wenn Sie die Persistenz für Sitzungen aktivieren möchten, die
URL-Umschreibung verwenden, setzen Sie die Eigenschaft
useURLEncoding in der Datei splicer.properties auf true.
Weitere Informationen zu den Eigenschaften in der Datei splicer.properties finden Sie unter Datei splicer.properties.
Ergebnisse
Sie haben den HTTP-Sitzungsmanager so konfiguriert, dass die Sitzungen in einem
Datengrid persistent gespeichert werden.
Es werden Einträge aus dem Datengrid entfernt, wenn die Sitzungen das zulässige Zeitlimit überschreiten.
Weitere Informationen zum Aktualisieren des Sitzungszeitlimits in der Administrationskonsole von
WebSphere Application
Server finden Sie unter
Einstellungen für die Sitzungsverwaltung.