コンポーネントをキャッシュするときにカスタムキーを生成するのにKeyGenerator
を使用しています。ここでSpring ehcache - カスタムキーに基づいて値を取得できません
@CachePut(value = "cacheOne", keyGenerator = "keyGenerator") public CachedObject cacheMeta(final Object obj1, final Object obj2, final CachedObject cachedObject) { return cachedObject; }
がKeyGenerator
実装です:
StringBuilder s= new StringBuilder(); s.append(obj1.hashCode().append(obj2.hashCode())); Element elt=CacheManager.getInstance("cacheOne").get(s)
public Object generate(Object o, Method m ,Object ... params){ StringBuilder s=new StringBuilder(); return s.append(params[0].hashCode()).append(params[1].hashCode()); }
キャッシュから値を取得している間、私のようにキーを生成しています。ここ はキャッシュ可能な方法であり、
しかし、それは常にnullを返します。