アプリケーションでいくつかのキャッシングメカニズムを使用することを計画しており、他の多くのキャッシングソリューションとの比較研究を行った後、Javaキャッシングシステム(JCS)を選択しました。外部構成(cache.ccf)を使用してキャッシュ領域とそのプロパティ(maxlife、ideltimeなど)を定義すると、すべて問題ありません。
ただし、要件は動的キャッシュ領域を持つように変更されています。つまり、実行時にキャッシュ領域とそのプロパティを定義する必要があります。この操作に関する詳細やサンプルを見つけることができません。実行時にキャッシュ領域を正常に作成しました(以下のメソッドシグネチャを使用)。
ICompositeCacheAttributes cattr=..
IElementAttributes attr = new ElementAttributes();
attr.setIsEternal(false);
attr.setMaxLifeSeconds( maxLife );
defineRegion(name, cattr,attr);
ただし、問題は、IElmentAttributesがキャッシュに設定されないことです。私はJCSのソースについて調査しましたが、attr
設定されていないことがわかりました。未使用の引数です!! 少し奇妙
さらにグーグルした後、属性を手動で設定するための以下のオプションを見つけましたが、それでも機能しませんでした
IElementAttributes attr = new ElementAttributes();
attr.setIsEternal(false);
attr.setMaxLifeSeconds( maxLife );
jcs.setDefaultElementAttributes(attr);
作成したリージョンにmaxLifeSecondsを設定するだけです。