My error is :
Exception in thread "main" java.lang.IllegalArgumentException: Cannot find cache named 'getActionsBycasId' for CacheableOperation[public java.util.List com.codinko.database.DataBaseConnection.getActionsByCasId(int)] caches=[getActionsBycasId] | key='' | keyGenerator='' | cacheManager='' | cacheResolver='' | condition='' | unless='' at org.springframework.cache.interceptor.AbstractCacheResolver.resolveCaches(AbstractCacheResolver.java:81) at org.springframework.cache.interceptor.CacheAspectSupport.getCaches(CacheAspectSupport.java:214) at org.springframework.cache.interceptor.CacheAspectSupport$CacheOperationContext.<init>(CacheAspectSupport.java:553) at org.springframework.cache.interceptor.CacheAspectSupport.getOperationContext(CacheAspectSupport.java:227) at org.springframework.cache.interceptor.CacheAspectSupport$CacheOperationContexts.<init>(CacheAspectSupport.java:498) at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:299) at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653) at com.codinko.database.DataBaseConnection$$EnhancerBySpringCGLIB$$21a0d8a.getActionsByCasId(<generated>) at com.codinko.caching.EmployeeDAO.getActionBycasId(EmployeeDAO.java:47) at com.codinko.caching.EmployeeDAO$$FastClassBySpringCGLIB$$191aa49b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649) at com.codinko.caching.EmployeeDAO$$EnhancerBySpringCGLIB$$3399d753.getActionBycasId(<generated>) at com.codinko.caching.Main.main(Main.java:22)
My function is :
@Cacheable("getActionsBycasId") public List<SMSAction> getActionsByCasId(int casId){ System.out.println("Inside getActionsByCasId"); //My logic return list; }
when i add below on ehcache.xml then above error not comes but can't know why this error come .
<cache name="getActionsBycasId" maxElementsInMemory="50" eternal="false" overflowToDisk="false" memoryStoreEvictionPolicy="LFU" />
Is this above configuration required in ehcache.xml file even though i used annotation
????
Try this :
@Bean public CacheManager cacheManager() { SimpleCacheManager cacheManager = new SimpleCacheManager(); List<Cache> caches = new ArrayList<Cache>(); caches.add(new ConcurrentMapCache("getActionsBycasId")); cacheManager.setCaches(caches); return cacheManager; }
If you use spring cloud aws, disable automatic elasticache configuration.
@EnableAutoConfiguration(exclude = ElastiCacheAutoConfiguration.class) @EnableCaching @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With