Befehls-Caching konfigurieren

Befehle können zur Wiederverwendung in einem ähnlichen Verfahren für Servlets und JSP-Dateien zwischengespeichert werden.

Informationen zu diesem Vorgang

In diesem Fall werden die eindeutigen Cache-IDs jedoch ausgehend von Methoden und Feldern generiert, die im Befehl als Eingabeparameter vorhanden sind. Ein Befehl "GetStockQuote" kann beispielsweise ein Symbol als Eingabeparameter haben.

Eine eindeutige Cache-ID könnte ausgehend vom Namen des Befehls sowie vom Wert des Symbols generiert werden.

Für das Befehls-Caching sind die folgenden Schritte erforderlich:

Vorgehensweise

Erstellen Sie einen Befehl.
  1. Definieren Sie eine Schnittstelle. Die Schnittstelle Command gibt die grundlegenden Aspekte eines Befehls an.

    Sie müssen eine Schnittstelle definieren, die auf eine oder mehrere Schnittstellen des Befehlspakets aufbaut. Das Befehlspaket besteht aus drei Schnittstellen:

    • TargetableCommand
    • CompensableCommand
    • CacheableCommand
    Üblicherweise implementieren die meisten Befehle die Schnittstelle TargetableCommand, welche die Fernausführung des Befehls ermöglicht. Die Codestruktur einer Schnittstelle für einen ausrichtbaren Befehl sieht wie folgt aus:
    ...
    import com.ibm.websphere.command.*;
    public interface MyCommand extends TargetableCommand { 
          // Hier Anwendungsmethoden deklarieren
    }
  2. Stellen Sie eine Implementierungsklasse für die Schnittstelle bereit. Schreiben Sie eine Schnittstelle, die die Klasse CacheableCommandImpl erweitert und Ihre Befehlschnittstelle implementiert. Diese Klasse enthält den Code für die Methoden Ihrer Schnittstelle, die von erweiterten Schnittstellen wie CacheableCommand übernommenen Methoden und die erforderlichen oder abstrakten Methoden der Klasse CacheableCommandImpl.

    Sie können die Standardimplementierungen anderer in der Klasse CacheableCommandImpl bereitgestellter Methoden überschreiben.

Fehler vermeiden Fehler vermeiden: Damit das Befehlscaching ordnungsgemäß funktioniert, müssen Sie das Servlet-Caching aktivieren.gotcha

Beispiel

Befehle können zur Wiederverwendung in einem ähnlichen Verfahren für Servlets und JSP-Dateien zwischengespeichert werden.

Die folgenden Codebeispiele veranschaulichen die Verwendung des Befehlscachings für einen einfachen Börsennotierungsbefehl.

Das folgende Codebeispiel zeigt eine Bean für Börsennotierungsbefehle. Die Bean akzeptiert einen Ticker als Eingabeparameter und erstellt einen Preis als Ausgabeparameter:

public class QuoteCommand extends CacheableCommandImpl
{
    private String ticker;
    private double price;
    // Wird aufgerufen, um zu validieren, dass Befehlseingabeparameter festgelegt wurden
    public boolean isReadyToCallExecute() {
      return (ticker!=null);
    }
    // Wird durch einen Cachetreffer aufgerufen, um Ausgabeeigenschaften für dieses Objekt zu kopieren
    public void setOutputProperties(TargetableCommand fromCommand) {
        QuoteCommand f = (QuoteCommand)fromCommand;
        this.price = f.price;
    }

   // Methode der Geschäftslogik, die aufgerufen wird, wenn der Aktienkurs abgerufen werden muss
    public void performExecute()throws Exception {...}

    //Eingabeparameter für den Befehl
    public void setTicker(String ticker) { this.ticker=ticker;}
    public String getTicker() { return ticker;}

    //Ausgabeparameter für den Befehl
    public double getPrice()  { return price;};
}

Das folgende Codebeispiel veranschaulicht die Verwendung der Cacherichtlinie für das Zwischenspeichern des Objekts des Börsennotierungsbefehls, das den Börsenticker als Cacheschlüssel und eine Lebensdauer von 60 Sekunden verwendet:

<cache> 
	<cache-entry>
				<class>command</class>
			<sharing-policy>not-shared</sharing-policy>
<name>QuoteCommand</name>
		<cache-id>
			<component type="method" id="getTicker">
				<required>true</required>
			</component>
						<priority>3</priority>
			<timeout>60</timeout>
</cache-id>
	</cache-entry>
</cache>

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_cachecommands
Dateiname:tdyn_cachecommands.html