Zwischenspeicherbare Objekte mit Datei cachespec.xml konfigurieren

Verwenden Sie diese Task, um cachefähige Objekte in der Datei cachespec.xml zu definieren, die Sie im Webmodulverzeichnis WEB-INF bzw. Enterprise-Bean-Verzeichnis META-INF finden.

Vorbereitende Schritte

Aktivieren Sie den dynamischen Cache. Weitere Informationen finden Sie im Artikel zu den Einstellungen für den dynamischen Cache-Service.

Informationen zu diesem Vorgang

Sie können eine globale Datei cachespec.xml in das Verzeichnis für Anwendungsservereigenschaften stellen. Es wird jedoch empfohlen, die Cachekonfigurationsdatei mit dem Implementierungsmodul abzulegen. Das Stammelement der Datei cachespec.xml ist <cache> und enthält <cache-entry>-Elemente.

Fehler vermeiden Fehler vermeiden: Wenn eine globale Datei cachespec.xml im Eigenschaftsverzeichnis (properties) des Anwendungsservers existiert und eine Datei cachespec.xml in einer Anwendung, werden die Einträge dieser beiden Dateien zusammengeführt. Wenn in den beiden Dateien widersprüchliche Einträge enthalten sind, haben die Einträge der Datei cachespec.xml in der Anwendung Priorität vor den Einträgen in der globalen Datei cachespec.xml für die betreffende Anwendung.gotcha

Das Element <cache-entry> kann in einem Element <cache> oder in einem Element <cache-instance> verschachtelt werden. Die <cache-entry>-Elemente, die im Element <cache> verschachtelt sind, werden in der Standardcacheinstanz zwischengespeichert. Alle <cache-entry>-Elemente im Element <cache-instance> werden in der Instanz zwischengespeichert, die im Attribut name des Elements <cache-instance> angegeben ist.

Ein Element <cache-entry> enthält Parameter für die Ausführung der folgenden Tasks zum Aktivieren des dynamischen Cache mit der Datei cachespec.xml:

Vorgehensweise

  1. Entwickeln Sie eine Datei cachespec.xml.
    1. Erstellen Sie eine Konfigurationsdatei für Caching.

      Suchen Sie im Verzeichnis <Stammverzeichnis_des_Anwendungsservers>/properties die Datei cachespec.sample.xml.

    2. Kopieren Sie die Datei cachespec.sample.xml unter dem Namen cachespec.xml in das Webmodulverzeichnis WEB-INF oder das Enterprise-Bean-Verzeichnis META-INF.
  2. Definieren Sie die für das Identifizieren der cachefähigen Objekte erforderlichen cache-entry-Elemente. Eine Liste der Elemente finden Sim Artikel zur Datei "cachespec.xml".
  3. Erstellen Sie Regeln für Cache-IDs.

    Zum Zwischenspeichern eines Objekts muss WebSphere Application Server wissen, wie für die verschiedenen Aufrufe des Objekts eindeutige IDs generiert werden sollen. Diese Aufgabe erfüllt das Element <cache-id>. Jeder Cacheeintrag kann mehrere Regel für Cache-IDs enthalten, die nacheinander ausgeführt werden, bis eine Regel eine nicht leere Cache-ID zurückgibt oder keine weiteren ausführbaren Regeln vorhanden sind. Wird mit keiner der Regeln für das Generieren von Cache-IDs eine gültige Cach-ID generiert, kann das Objekt nicht zwischengespeichert werden. Sie haben zwei Möglichkeiten, diese IDs zu entwickeln:

    • Verwenden Sie das Element <component>, das in der Cacherichtlinie eines Cacheeintrags definiert ist (empfohlene Methode). Im Artikel "Datei 'cachespec_xml'" finden Sie weitere Informationen zum Element <component>.
    • Schreiben Sie eigenen Java™-Code, um die ID aus Eingabevariablen und Systemstatus zu erstellen. Geben Sie den IdGenerator in der XML-Datei an, um den Cacheeintrag für die Verwendung des IdGenerator zu konfigurieren. Verwenden Sie dazu das Tag <idgenerator>. Beispiel:
    <cache-entry>
         <class>servlet</class>
         <name>/servlet/CommandProcessor</name>
    		<cache-id>
         	<idgenerator>com.mycompany.SampleIdGeneratorImpl</idgenerator>
         	<timeout>60</timeout>
    		</cache-id>
    </cache-entry>
  4. Regeln für Abhängigkeits-IDs definieren. Mit Abhängigkeits-IDs können Sie zusätzliche Cachegruppen-IDs angeben, die mehrere Cacheeinträge einer Gruppenkennung zuordnen.

    Die Abhängigkeits-ID wird generiert, indem die Basiszeichenfolge der Abhängigkeits-ID mit den von den Komponentenelementen zurückgegebenen Werten verknüpft wird. Wenn eine erforderliche Komponente einen Nullwert zurückgibt, wird die gesamte Abhängigkeits-ID nicht generiert und somit auch nicht verwendet. Sie können Abhängigkeits-IDs explizit über die API für dynamischen Cache auswerten oder ein weiteres cache-entry-Element <invalidation>verwenden. Pro Cacheeintrag kann es mehrere Regeln für Abhängigkeits-IDs geben. Alle Regeln für Abhängigkeits-IDs werden separat ausgeführt. Eine Liste der Elemente <component> finden Sie im Artikel zur Datei "cachespec.xml".

  5. Andere Cacheeinträge als Nebeneffekt der Ausführung dieses Objekts invalidieren, falls zutreffend. Sie können Invalidierungsregeln genau wie Abhängigkeits-IDs definieren. Allerdings werden die von Invalidierungsregeln generierten IDs verwendet, um Cacheeinträge mit eben diesen Abhängigkeits-IDs zu invalidieren.

    Die Invalidierungs-ID wird generiert, indem die Basiszeichenfolge der Invalidierungs-ID mit den vom Komponentenelement zurückgegebenen Werten verknüpft wird. Wenn eine erforderliche Komponente einen Nullwert zurückgibt, wird die gesamte Invalidierungs-ID nicht generiert, sodass keine Einträge ungültig gemacht werden. Pro Cacheeintrag kann es mehrere Invalidierungsregeln geben. Alle Invalidierungsregeln werden separat ausgeführt.

  6. Vergewissern Sie sich, dass die Cacherichtlinie ordnungsgemäß funktioniert. Sie können die Richtlinien in der Datei cachespec.xml ändern, während die Anwendung ausgeführt wird. Der dynamische Cache lädt die aktualisierte Datei automatisch. Wenn Sie statischen Inhalt zwischenspeichern und die Cacherichtlinie einer Anwendung zum ersten Mal hinzufügen, müssen Sie die Anwendung erneut starten. Der Anwendungsserver muss zum Aktivieren der neuen Cacherichtlinie nicht erneut gestartet werden. Weitere Informationen finden Sie im Artikel "Cachefähige Seite prüfen".

Nächste Schritte

In der Regel werden in einer Datei cachespec.xml mehrere <cache-entry>-Elemente deklariert.

Wenn neue Versionen der Datei cachespec.xml erkannt werden, werden die alten Richtlinien ersetzt. Objekte, die über die alte Richtliniendatei zwischengespeichert wurden, werden nicht automatisch ungültig. Entweder werden sie unter Anwendung der neuen Richtlinie wiederverwendet oder durch den Ersetzungsalgorithmus aus dem Cache gelöscht.

Für jede der drei von Cacheeinträgen generierten IDs (Cache-ID, Abhängigkeits-ID, Annullierungs-ID) kann ein <cache-entry> mehrere Elemente enthalten. Der dynamische Cache führt die <cache-id>-Regeln nacheinander aus. Die erste Regel, die fehlerfrei eine ID generiert, wird zum Zwischenspeichern der Ausgabe verwendet. Wenn das Objekt zwischengespeichert werden soll, wird jedes der <dependency-id>-Elemente ausgeführt, um für diesen Cacheeintrag eine Gruppe von Abhängigkeits-IDs zu erstellen. Abschließend werden alle <invalidation>-Elemente ausgeführt, um eine Liste von IDs zu erstellen, die der dynamische Cache unabhängig davon, ob dieses Objekt zwischengespeichert wird oder nicht, ungültig macht.


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=tdyn_dynamiccacheconfig
Dateiname:tdyn_dynamiccacheconfig.html