何らかの理由で、グアバ キャッシュ インスタンスを作成して Spring Bean として公開することができません。
構築コードは次のとおりです。
@Configuration
public class ProductRepositoryCache {
@Bean
public Cache<NameSearchKey,Collection<String>> nameSearchCache() {
Cache<NameSearchKey,Collection<String>> result = CacheBuilder.newBuilder()
.maximumSize(1024)
.expireAfterAccess(0, TimeUnit.HOURS)
.expireAfterWrite(6, TimeUnit.HOURS)
.build();
return (Cache<NameSearchKey,Collection<String>>) result;
}
}
そしてそれを使用します:
@Resource
Cache<NameSearchKey,Collection<String>> nameSearchCache;
しかし、展開は次のように失敗します:
リソースの依存関係の挿入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanNotOfRequiredTypeException: 'nameSearchCache' という名前の Bean はタイプ [com.google.common.cache.Cache] である必要がありますが、実際にはタイプ [com.google.common.cache.CacheBuilder] でした|#]
シンプルなものが欠けていると思いますが、見つかりません。だから、私の質問は - 私が間違っていることは何ですか?