WebSphere Commerce verwendet Datenbankauslöser, um Änderungen des Inhalts anzuzeigen. Diese Auslöser schreiben Daten in die Tabelle CACHLOG. Hiermit geben sie an, welche Seiten aus dem Cache entfernt werden müssen.
Wenn Sie WebSphere Commerce angepasst haben, ist es unter Umständen sinnvoll, eigene Auslöser zu schreiben. Im Allgemeinen sollten Sie eigene Auslöser-Scripts erstellen und die mit WebSphere Commerce bereitgestellten Scripts nicht ändern.
Bitte berücksichtigen Sie das folgende Szenario:
Sie haben einen WebSphere Commerce-Befehl hinzugefügt, der
eine Position anzeigt, an der die Kunden ihre Waren aus Ihrem Geschäft
auswählen. Die URL-Adresse lautet:
http://mySite/webapp/wcs/stores/servlet/ShowPickupAddress?storeId=1&location=3
Sie haben die Tabelle PICKUP_SITES erstellt, die Informationen über die Auswahlposition speichert. Diese Tabelle verfügt über
Das folgende Beispiel zeigt einen Auslöser, der diese Seiten aus dem Cache entfernt:
CREATE TRIGGER pickup_1
AFTER UPDATE ON PICKUP_SITES
REFERENCING OLD AS N FOR EACH ROW MODE DB2SQL
INSERT INTO cachlog (cacurlname, cachashkey, cacmemberkey, cachashvalue, cacmembervalue,
cacstmp, cactrigid)
VALUES ('ShowPickupAddress', 'location', 'storeId', N.location, 1, CURRENT TIMESTAMP,
INT('1001'));
CREATE TRIGGER pickup_1
AFTER DELETE ON PICKUP_SITES
REFERENCING OLD AS N FOR EACH ROW MODE DB2SQL
INSERT INTO cachlog (cacurlname, cachashkey, cacmemberkey, cachashvalue, cacmembervalue,
cacstmp, cactrigid)
VALUES ('ShowPickupAddress', 'location', 'storeId', N.location, 1, CURRENT TIMESTAMP,
INT('1002'));
Dieser Auslöser gibt Folgendes an:
Auslöser sollten so viele Daten wie möglich in den Tabelleneintrag CACHLOG einfügen. Wenn eine oder mehrere Spalten keine Werte enthalten, gibt dies an, dass Seiten mit jedem beliebigen Wert für diesen Parameter entfernt werden sollen.
Sobald die Zeile in der Tabelle CACHLOG festgeschrieben wurde, entfernt der Cache-Cleanup-Worker die angegebene(n) Seite(n) bei der nächsten Iteration - sofern die automatische Aufhebung der Gültigkeit von Seiten aktiviert wurde.
![]() |