I'm trying to use google guava cache in my spring app, but result is never caching.
This are my steps:
in conf file:
@EnableCaching
@Configuration
public class myConfiguration {
@Bean(name = "CacheManager")
public CacheManager cacheManager() {
return new GuavaCacheManager("MyCache");
}
}
In class I want to use caching:
public class MyClass extends MyBaseClass {
@Cacheable(value = "MyCache")
public Integer get(String key) {
System.out.println("cache not working");
return 1;
}
}
Then when I'm calling:
MyClass m = new MyClass();
m.get("testKey");
m.get("testKey");
m.get("testKey");
It's entering function each time and not using cache: console:
cache not working
cache not working
cache not working
Does someone have an idea what am I missing or how can I debug that?
You should not manage a spring bean by yourself. Let spring to manage it.
After that you should use MyClass in a managed manner.