다음은 spring
에 cachename "simpleCache"가 포함 된 간단한 ConcurrentHashMap
을 자동으로 생성합니다.캐시 자동 구성을 유지하면서 사용자 정의 @ 캐시 가능 캐시를 추가하는 방법은 무엇입니까?
@Cachable("simpleCache")
public String simpleCache(String val) {
//...
}
@Cache("selfexpire")
public String selfexpireLookup(String val) {
}
질문 : 정의 된 자기 만료 시간이 하나의 캐시를 추가하고 싶지만 내가 사용하는 다른 모든 @Cacheable
에 대한 자동 구성 온천 HashMaps을에 의존 할 경우 어떻게?
다음은 캐시 작성
@Bean
public CaffeineCache selfexpireCache() {
return new CaffeineCache("selfexpire",
Caffeine.newBuilder()
.maximumSize(100)
.expireAfterAccess(1, TimeUnit.HOURS)
.build());
}
을하지만 : 만 caffeing 캐시 명시 적으로 구성된 작품 ...
java.lang.IllegalArgumentException: Cannot find cache named 'simpleCache' for Builder
: whan 내가 지금 내 응용 프로그램을 시작, 다른 모든 번 자동 구성 캐시는 실패.
그래서 어떻게 자동으로 캐시를 유지하면서 사용자 정의 캐시를 명시 적으로 추가 할 수 있습니까?
은 물론 내가 직접 그 간단한 캐시를 추가 할 수 있습니다,하지만 난 그들을 자동 구성 봄 원합니다 :
@Bean
public ConcurrentMapCache simpleCache() {
return new ConcurrentMapCache("simpleCache");
}
내가 잘못 했어 : selfexpireCache는 예상대로 작동하고 카페인으로 구성됩니다. 일반적으로 자동으로 설정된'ConcurrentHashMap' 캐시'somecache'는 더 이상 초기화되지 않습니다. 나는 명확한 카페인 캐시를 정의하지 않은 캐시를 초기화하기 위해 봄을 말하고 싶다. – membersound
귀하의 의견과 편집 내용을 바탕으로 답변을 새로 작성했습니다 – dpr
@ mememound 아직 다른 답변을 찾고 계십니까? 이 대답의 어떤면이 효과가 없거나 너무 복잡합니까? – dpr