3

私は、xmlからの構成を使用しないehcacheの実装を持っていますが、以下に示すように:

private Ehcache cache;

constructor {
  cache = CacheManager.getInstance().addCacheIfAbsent("nameOfCache");
  CacheConfiguration config = cache.getCacheConfiguration();
  config.eternal("false")
  config.setTimeToLiveSeconds(<someTime>);
}

今、私は以前にグアバキャッシュを使用し0ましたが、グアバキャッシュで立ち退き時間を設定することで、キャッシュがオフになることを知っています。しかし、ehcacheに関するドキュメントを読むことで、同じケースではないことがわかります。キャッシュをオフにする他の方法はありますか?

4

2 に答える 2

15

Ehcache FAQから、net.sf.ehcache.disabledシステム プロパティを設定して、Ehcache が要素をキャッシュに追加しないようにすることができます。要素はキャッシュに追加されないため、すべてのキャッシュ リクエストでキャッシュ ミスが発生し、探している動作が提供されます。

コマンド ラインから JVM を起動する場合は、次のようにプロパティを設定できます。

-Dnet.sf.ehcache.disabled=true
于 2013-03-13T16:31:36.180 に答える
0

Ehcache でこれを行う方法はわかりませんが、私のプロジェクトで同様のことを行いました。まず、キャッシュのファサード パターンを作成しました (その背後で Ehcache または Guava キャッシュを使用できるようにするため)。次に、コンストラクターとしてキャッシュまたはキャッシュ ビルダーを使用OptionalCacheする を実装しました。Nullableキャッシュが存在する場合はOptionalCacheそれを使用し、それ以外の場合は使用しません ( を使用しCacheLoaderて値を取得するか、 を返しますnull)。これにより、テスト用にキャッシュ/キャッシュ ビルダーに null を渡すことができました。

于 2013-03-13T16:27:37.907 に答える