2016-08-04 8 views
1

JCSにauthトークンを保存しています。サーバーを再起動するとキャッシュコンテキストが失われてしまいます。これを避けるために、サーバーを停止するときに、値のJCSリストをファイルに格納することに決めました。再起動すると、ファイルを読み込んでJCSに保存し直します。 JCSキャッシュリストをファイルまたは他の可能なソリューションに保存するのを手伝ってください。ファイルからJCSキャッシュを保存および取得する

トークンをキャッシュに保存することの正しい実装を変更することはできません。

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

答えて

1

キャッシュに値を格納するときに、indexedDiskCacheFactoryの補助を追加できます。これにより、キーとデータがcache.ccfファイルで設定されたディレクトリに保存されます。 はちょうどあなたのcache.ccfに次のコードをするために追加します。

領域は、キャッシングのためにpreconfirgured:

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

インデックス付きディスクパス

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` 
これはトリックを行う必要があります

と、あなたのサーバーを再起動したら、キャッシュはファイルから値を取ります。

関連する問題