Структура моего кода выглядит следующим образом
@Component
Class A{
@Autowired
B b;
public void getResponseFromB(){
b.getResponse("ABC");
}
}
@Service
Class B{
@Cacheable(value="myCaching", key="#cachingKey")
public String getResponse(String cachingKey){
return "sample";
}
}
@Configuration
@EnableCaching
Class GuavaCaching{
@Bean
public CacheManager cacheManager() {
SimpleCacheManager cacheManager = new SimpleCacheManager();
GuavaCache guavaCache1 = new GuavaCache("myCaching", CacheBuilder.newBuilder()
.maximumSize(100).expireAfterWrite(1, TimeUnit.DAYS).build());
cacheManager.setCaches(Arrays.asList(guavaCache1));
return cacheManager;
}
}
Мой вопрос: каждый раз, когда я вызываю метод класса B из A, кэширование не работает. Я не уверен, что мне здесь не хватает. Любые выводы здесь будут оценены.