0

カスタムキージェネレーターにアクセスして、キャッシュ抽象化ドキュメントのメソッドを使用してキャッシュ用のキーを生成しようとしていますが、今まで解決策が見つかりませんでした...ここでコードを提供しています

@Cacheable(value = "itemsCache", key ="T(com.ernst.transactionsAPI.IndexKeyGenerator).generate(#root.target, #root.method.name, #root.args[0])")
public List<FilialenImpl> getOutletByCustomSearchCache(SearchParametersImpl searchParameters);

次のエラーが表示されます。

org.springframework.expression.spel.SpelEvaluationException: EL1004E:(pos 47): Method call: Method generate(com.ernst.transactionsImpl.filialen.FilialenServiceBean,java.lang.String,com.ernst.persistenceImpl.impl.SearchParametersImpl) cannot be found on com.ernst.transactionsAPI.IndexKeyGenerator type

メソッド名を反映していませんが、メソッドタイプを渡しています..誰でもこの問題を解決する方法を教えてください。

indexkeygenerator のメソッドは次のようになります

public Object generate(Object target, Method method, Object... params) {
 ...}

前もって感謝します、

よろしく、ラジャセカール。

4

1 に答える 1

1

IndexKeyGenerator クラスに静的メソッド generateKey を記述し、次のコードに示すように直接呼び出しました..個々のキャッシュのカスタムキャッシュは完璧に機能します

@Cacheable(value = "itemsCache", key ="T(com.ernst.transactionsAPI.IndexKeyGenerator).generateKey(#root.target, #root.method, #root.args[0])") public List<FilialenImpl> getOutletByCustomSearchCache(SearchParametersImpl searchParameters);

SearchParameters クラスをオーバーライドすることを忘れないでください。

于 2013-01-30T14:41:35.283 に答える