春季升级后的春季缓存例外

时间:2020-05-08 14:49:44

标签: caching spring-cache spring5

我将项目升级为使用Spring 5.2。春季升级后,尝试使用@Cacheable或@CacheEvict

时会看到异常

在4.3中,当我尝试使用@CacheEvict从缓存中删除时,如果该值不在缓存中,则返回undefined,但是在升级后,它将引发以下异常。

当我也尝试使用@Cacheable将其保存在缓存中时,也会遇到类似的异常情况

java.lang.IllegalArgumentException: Cannot find cache named 'TestFileCache' for Builder[public void com.cacheTest.manager.removeFromCache(com.cacheTest.entity.TestFile)] caches=[TestFileCache] | key='#attrs.id' | keyGenerator='' | cacheManager='' | cacheResolver='' | condition='',false,false
at org.springframework.cache.interceptor.AbstractCacheResolver.resolveCaches(AbstractCacheResolver.java:92)
at org.springframework.cache.interceptor.CacheAspectSupport.getCaches(CacheAspectSupport.java:252)
at org.springframework.cache.interceptor.CacheAspectSupport$CacheOperationContext.<init>(CacheAspectSupport.java:707)
at org.springframework.cache.interceptor.CacheAspectSupport.getOperationContext(CacheAspectSupport.java:265)
at org.springframework.cache.interceptor.CacheAspectSupport$CacheOperationContexts.<init>(CacheAspectSupport.java:598)
at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345)
at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
at com.stratasync.universe.core.artifact.config.cmd.CMDFileMgr$$EnhancerBySpringCGLIB$$b786ba10.removeCmdFile(<generated>)
at com.jdsu.universe.sync.services.SecureSyncServiceImpl.updateCmdFile(SecureSyncServiceImpl.java:1420)
at com.jdsu.universe.sync.services.SecureSyncServiceImpl.uploadArtifact(SecureSyncServiceImpl.java:1332)
at com.jdsu.universe.sync.servlet.handler.SecureSyncRequestHandler.post(SecureSyncRequestHandler.java:593)
at com.jdsu.universe.sync.servlet.SecureSyncServlet.doPost(SecureSyncServlet.java:170)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.jdsu.universe.sync.servlet.PortFilter.doFilter(PortFilter.java:144)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

我是spring缓存的新手,可以缓存的人可以帮我吗?

0 个答案:

没有答案