2016-08-04 37 views
1

Wir speichern das Auth-Token in der JCS, beim Neustart des Servers ging der Cache-Kontext verloren. Um dies zu umgehen, hat man beim Stoppen des Servers entschieden, die JCS-Werteliste in einer Datei zu speichern und beim Neustart die Datei zu lesen und in JCS zu speichern. Bitte helfen Sie mir, die JCS-Cache-Liste in einer Datei oder einer anderen möglichen Lösung zu speichern.Speichern und Abrufen des JCS-Caches aus einer Datei

Ich kann die korrekte Implementierung des Speicherns des Tokens im Cache nicht ändern.

cache = JCS.getInstance("uniqueKey"); 
if (cache.get(key) == null) { 
    cache.put(key, value); 
} 

Antwort

1

Beim Speichern von Werten in Ihrem Cache können Sie eine Hilfsdatei indexedDiskCacheFactory hinzufügen. Dadurch werden der Schlüssel und die Daten in dem Verzeichnis gespeichert, das in der Datei cache.ccf konfiguriert ist. Sie einfach das folgende Snippet hinzufügen in Ihrem cache.ccf:

Regionen preconfirgured für das Caching:

jcs.region.outputCache=DC 
jcs.region.outputCache.cacheattributes.DiskUsagePatternName=UPDATE 

Indexed Plattenpfad

jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory 
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes 
jcs.auxiliary.DC.attributes.DiskPath=d:/cache/dev/raf 
jcs.auxiliary.DC.attributes.MaxKeySize=100000` 

Diese den Trick tun sollten, und wenn Sie Ihren Server neu starten Der Cache nimmt Werte aus der Datei.