13.3 Konfiguration von Cache-Einstellungen

Auf der Seite „Caching“ können Sie Cache-Konfigurationseinstellungen für geclusterte oder nicht geclusterte Anwendungsserver-Umgebungen anzeigen und ändern. Ihre Änderungen werden unmittelbar gespeichert, werden jedoch erst beim nächsten Neustart der Benutzeranwendung wirksam.

VORSCHLAG:Führen Sie zum Neustarten der Benutzeranwendung einen der folgenden Schritte aus: Starten Sie den Anwendungsserver neu, implementieren Sie die Anwendung erneut (falls die WAR-Datei geändert wurde) oder erzwingen Sie einen Neustart der Anwendung (wie in der Dokumentation zu Ihrem Anwendungsserver beschrieben).

Zum Konfigurieren der Cache-Einstellungen müssen Sie sich mit Folgendem auskennen:

13.3.1 Wie das Caching implementiert ist

In der Identity Manager-Benutzeranwendung ist das Caching per JBoss Cache implementiert. JBoss Cache ist eine Open-Source-Caching-Architektur, die mit JBoss Application Server ausgeliefert wird, jedoch auch auf anderen Anwendungsservern ausgeführt werden kann.

Weitere Informationen zu JBoss Cache finden Sie unter www.jboss.org/products/jbosscache.

13.3.2 Wie Cache-Einstellungen gespeichert werden

Zum Konfigurieren des Cache-Speichers stehen Ihnen zwei Ebenen von Einstellungen zur Verfügung. Diese können Sie beliebig kombinieren, um das Caching-Verhalten der Identity Manager-Benutzeranwendung genau festzulegen.

Ebene

Beschreibung

Globale Einstellungen

Globale Einstellungen werden an einem zentralen Ort (dem Identitätsdepot) gespeichert, damit mehrere Anwendungsserver mit denselben Einstellungswerten arbeiten können. Bei geclusterten Anwendungsservern werden beispielsweise in der Regel globale Einstellungen für die Werte der Cluster-Konfiguration verwendet.

Um die globalen Einstellungen in Ihrem Identitätsdepot zu finden, suchen Sie das folgende Objekt unterhalb des Treibers der Identity Manager-Benutzeranwendung:


configuration.AppDefs.AppConfig

Zum Beispiel:


configuration.AppDefs.AppConfig.MeinBenutzeranwendungstreiber.MeinTreiberSatz.MeineOrg

Das Attribut XmlData des Konfigurationsobjekts enthält die globalen Einstellungsdaten.

Lokale Einstellungen

Lokale Einstellungen werden separat auf jedem einzelnen Anwendungsserver gespeichert, sodass ein einzelner Server den Wert einer oder mehrerer globaler Einstellungen außer Kraft setzen kann. Beispielsweise kann es sinnvoll sein, eine lokale Einstellung festzulegen, um einen Anwendungsserver aus dem in den globalen Einstellungen angegebenen Cluster zu entfernen oder um einen Server einem anderen Cluster zuzuweisen.

Um die lokalen Einstellungen auf Ihrem Anwendungsserver zu finden, Suchen Sie nach der folgenden Datei im conf-Verzeichnis Ihrer JBoss-Serverkonfiguration:


sys-configuration-xmldata.xml

Zum Beispiel:


jboss/server/IDM/conf/sys-configuration-xmldata.xml

Wenn für Ihren Server lokale Einstellungen vorhanden sind, befinden sich die entsprechenden Daten in dieser Datei. (Wurden keine lokalen Einstellungen festgelegt, ist die Datei nicht vorhanden.)

Sie können sich globale Einstellungen als Standardwerte für jeden Anwendungsserver yorstellen, der eine bestimmte Instanz des Benutzeranwendungstreibers nutzt. Wenn Sie eine globale Einstellung ändern, betrifft dies alle Server (beim nächsten Neustart der Benutzeranwendung) mit Ausnahme der Server, für die eine lokale Einstellung festgelegt ist, die Vorrang vor der globalen hat.

13.3.3 Wie Cache-Einstellungen angezeigt werden

Auf der Seite „Caching“ werden die aktuellen Cache-Einstellungen (Einstellungen beim letzten Neustart der Benutzeranwendung) angezeigt. Außerdem werden die zugehörigen globalen und lokalen Werte dieser Einstellungen angezeigt, und Sie haben die Möglichkeit, diese zu ändern (zur Verwendung beim nächsten Neustart der Benutzeranwendung).

Beschreibung: Beschreibung: Abbildung

Beachten Sie, dass für die globalen Einstellungen immer Werte vorhanden sind. Die lokalen Einstellungen sind optional.

13.3.4 Grundlegende Cache-Einstellungen

Diese Cache-Einstellungen betreffen sowohl geclusterte als auch nicht geclusterte Anwendungsserver.

So konfigurieren Sie grundlegende Cache-Einstellungen:

  1. Wechseln Sie zur Seite Caching.

  2. Geben Sie im Abschnitt Cache-Konfiguration dieser Seite die gewünschten globalen oder lokalen Werte ein:

    Einstellung

    Vorgehensweise

    Zeitüberschreitung beim Abrufen der Sperre

    Geben Sie das Zeitintervall (in Millisekunden) an, das der Cache-Speicher abwarten soll, bis er eine Sperre für ein Objekt erhält. Es kann sinnvoll sein, diesen Wert zu erhöhen, wenn das Anwendungsprotokoll der Benutzeranwendung zahlreiche Ausnahmen wegen Sperren-Zeitüberschreitungen aufweist. Der Standardwert ist 15000 ms.

    Vertreibungsrichtlinienklassen

    Geben Sie den Klassennamen für die Cache-Vertreibungsrichtlinie an, die Sie verwenden möchten. Standardmäßig wird die LRU-Vertreibungsrichtlinie von JBoss Cache verwendet:

    
    org.jboss.cache.eviction.LRUPolicy
    

    Bei Bedarf können Sie diese in eine andere von JBoss Cache unterstützte Vertreibungsrichtlinie ändern.

    Weitere Informationen zu unterstützten Vertreibungsrichtlinien erhalten Sie unter www.jboss.org/products/jbosscache.

    Aktivierungsintervall in Sekunden

    Geben Sie das Zeitintervall (in Sekunden) an, nach der die Vertreibungsrichtlinie aktiv wird und Folgendes ausführt:

    • Die Ereignisse der vertriebenen Knoten verarbeiten
    • Die Größenbeschränkungs- und abgelaufenen Knoten bereinigen

    Höchstanzahl der Knoten

    Geben Sie die maximal Knotenanzahl an, die im Cache zugelassen ist. Bei keiner Beschränkung geben Sie Folgendes ein:

    
    0
    

    Time-To-Live in Sekunden

    Geben Sie die Leerlaufzeit (in Sekunden) an, nach der der Knoten entfernt wird. Bei keiner Beschränkung geben Sie Folgendes ein:

    
    0
    

    Diese Einstellungen sind erforderlich, es muss also für jede einzelne Einstellung ein globaler Wert und optional zusätzlich ein lokaler Wert vorhanden sein.

    Wenn Sie den globalen Wert einer Einstellung durch einen lokalen Wert außer Kraft setzen möchten, aktivieren Sie für die entsprechende Einstellung das Kontrollkästchen Lokal aktivieren. Geben Sie anschließend den lokalen Wert an. (Stellen Sie sicher, dass alle lokalen Werte gültig sind. Anderenfalls können Sie Ihre Änderungen nicht speichern.)

    HINWEIS:Bei den Einstellungen, bei denen die Option „Lokal aktivieren“ nicht ausgewählt ist, werden ggf. beim Speichern vorhandene lokale Werte gelöscht.

  3. Klicken Sie auf Speichern.

  4. Wenn Sie die gewünschten Werte gespeichert haben und diese wirksam werden sollen, starten Sie die Benutzeranwendung auf den entsprechenden Anwendungsservern neu.

13.3.5 Cache-Einstellungen für Cluster

In diesem Abschnitt wird erläutert, wie Sie die Caching-Funktion konfigurieren, wenn Sie die Identity Manager-Benutzeranwendung über ein Anwendungsserver-Cluster verteilt ausführen. Sie sollten sich mit Folgendem auskennen:

Wie das Clustering implementiert ist

In der Identity Manager-Benutzeranwendung ist die Cluster-Unterstützung für das Caching per JGroups implementiert. JGroups ist eine Open-Source-Clustering-Architektur, die mit JBoss Application Server ausgeliefert wird, jedoch auch auf anderen Anwendungsservern ausgeführt werden kann.

Das Cluster der Benutzeranwendung besteht aus Knoten in einem Netzwerk, die JGroups ausführen und die eine gemeinsame Gruppen-ID haben. Standardmäßig ist die für das Cluster der Benutzeranwendung bereitgestellte Gruppen-ID eine UUID, die wie folgt aussieht:

c373e901aba5e8ee9966444553544200

Die UUID gewährleistet die Eindeutigkeit, damit kein Konflikt zwischen der Gruppen-ID des Clusters der Benutzeranwendung und den Gruppen-IDs anderer Cluster in Ihrer Umgebung auftritt. Beispielsweise nutzt der JBoss Application Server selbst zwei JGroups-Cluster, für die er die Gruppen-IDs DefaultPartition und TreeCache reserviert.

Weitere Informationen zu JGroups finden Sie in www.jboss.org/products/jgroups.

Wie das Caching mit einem Cluster funktioniert

Wenn Sie die Benutzeranwendung starten, legen die Cache-Konfigurationseinstellungen der Anwendung fest, ob diese an einem Cluster teilnehmen und Cache-Änderungen auf den anderen Knoten in diesem Cluster replizieren soll. Wenn Clustering aktiviert ist, nimmt die Benutzeranwendung diese Replizierung vor, indem sie bei Änderungen Cache-Eintrag-Invalidierungsmeldungen an jeden Knoten sendet.

Vorbereitungen für die Verwendung eines Clusters

Für die Verwendung von Caching in einem Cluster sind zwei vorbereitende Schritte erforderlich:

  1. Einrichtung des JGroups-Clusters

    Dies umfasst die Installation des JBoss Application Server mit der Vorgabe, dass die Konfiguration all verwendet werden soll, und die anschließende Verteilung der Identity Manager-Benutzeranwendung (IDM.war) an jeden Server im Cluster. Üblicherweise wird sie im Verzeichnis farm abgelegt.

  2. Aktivierung der Verwendung dieses Clusters in den Cache-Konfigurationseinstellungen der Benutzeranwendung.

    Weitere Informationen hierzu finden Sie in Konfiguration von Cache-Einstellungen für Cluster (unten).

Konfiguration von Cache-Einstellungen für Cluster

Sobald Ihr Cluster einsatzbereit ist, können Sie Einstellungen für die Unterstützung von Caching in diesem Cluster festlegen.

So konfigurieren Sie Cache-Einstellungen für Cluster:

  1. Wechseln Sie zur Seite Caching.

  2. Geben Sie im Abschnitt Clusterkonfiguration dieser Seite die gewünschten globalen oder lokalen Werte für die folgenden Einstellungen ein:

    Einstellung

    Vorgehensweise

    Clusterfähig

    Wählen Sie Wahr, um Cache-Änderungen auf den anderen Knoten des Clusters mit derselben Gruppen-ID zu replizieren. Wenn Sie die Cluster-Funktionalität nicht nutzen möchten, wählen Sie Falsch.

    Gruppen-ID

    Geben Sie die Gruppen-ID des JGroups-Clusters an, das verwendet werden soll. Es ist nur dann erforderlich, die standardmäßige Gruppen-ID zu ändern, die für das Cluster der Benutzeranwendung vorgegeben ist, wenn Sie mit einem anderen Cluster arbeiten möchten.

    Denken Sie daran, dass die folgenden Gruppen-IDs für die Verwendung durch den JBoss Application Server reserviert sind: „DefaultPartition“ und „TreeCache“.

    VORSCHLAG:Damit die Gruppen-ID in Protokollierungsmeldungen angegeben wird, müssen Sie sicherstellen, dass der Umfang für das Caching-Protokoll (com.sssw.fw.cachemgr) auf „Info“ oder höher eingestellt ist.

    Clustereigenschaften

    Geben Sie den JGroups-Protokoll-Stack für das durch die Gruppen-ID festgelegte Cluster an. Beachten Sie, dass diese Einstellung nur für erfahrene Administratoren gedacht ist, die ggf. die Cluster-Eigenschaften anpassen müssen. Anderenfalls sollten Sie den standardmäßigen Protokoll-Stack nicht ändern.

    Klicken Sie zum Anzeigen der aktuellen Cluster-Eigenschaften auf Anzeigen.

    Details zum JGroups-Protokoll-Stack finden Sie unter www.joss.org/wiki/Wiki.jsp?page=JGroups.

    Wenn Sie den globalen Wert einer Einstellung durch einen lokalen Wert außer Kraft setzen möchten, aktivieren Sie für die entsprechende Einstellung das Kontrollkästchen Lokal aktivieren. Geben Sie anschließend den lokalen Wert an.

    HINWEIS:Bei den Einstellungen, bei denen die Option „Lokal aktivieren“ nicht ausgewählt ist, werden ggf. beim Speichern vorhandene lokale Werte gelöscht.

    Stellen Sie sicher, dass alle Knoten in Ihrem Cluster dieselbe Gruppen-ID und dieselben Clustereigenschaften aufweisen. (Sie können diese Einstellungen für einen bestimmten Knoten anzeigen, indem Sie auf diesem Knoten auf die Benutzeroberfläche von Identity Manager zugreifen - wechseln Sie hierzu zur URL der Benutzeroberfläche auf diesem Server und dort die Seite „Caching“ anzeigen.)

  3. Klicken Sie auf Speichern.

  4. Wenn Sie die gewünschten Werte gespeichert haben und diese wirksam werden sollen, starten Sie die Benutzeranwendung auf den entsprechenden Anwendungsservern neu.