Java @从其他控制器调用该方法时CacheExit不工作
在spring应用程序中,我们有两个控制器,即controller1、controller2和一个服务,即service1 我想使用方法缓存,为此我配置了spring缓存 我正在使用@Cacheablevalue=cache1缓存service1中名为method1的方法,为了删除缓存,我在service1中另一个名为method2的方法上使用@cacheexecutionvalue=cache1,allEntries=true 因此,缓存工作正常,但逐出并没有按照我希望的那样工作 因此,如果我从controller1调用method1 cachable方法,它将缓存并从controller1调用method2 cacheExit方法,那么它将正确地删除/逐出cachce,但当我从controller2调用method2 cacheExit方法时,它并不是删除/逐出缓存,而是我希望它这样做 我想在每次调用该方法时逐出/移除缓存,无论从哪个控制器调用该方法Java @从其他控制器调用该方法时CacheExit不工作,java,spring,caching,spring-cache,Java,Spring,Caching,Spring Cache,在spring应用程序中,我们有两个控制器,即controller1、controller2和一个服务,即service1 我想使用方法缓存,为此我配置了spring缓存 我正在使用@Cacheablevalue=cache1缓存service1中名为method1的方法,为了删除缓存,我在service1中另一个名为method2的方法上使用@cacheexecutionvalue=cache1,allEntries=true 因此,缓存工作正常,但逐出并没有按照我希望的那样工作 因此,如果我
这在大多数情况下是必需的,因为controller1代表客户,controller2代表管理员。我们缓存controller1中使用的方法,并且我们希望在controller2发生任何更新时删除相同的缓存,即admin。两个主要问题导致此操作出错。它们是: 在控制器中,我们使用annotation@autowire;在服务中,我们使用xmlbean配置。因此,两者都在创建不同的实例,这使得它工作错误 解决方案:对于控制器,我们也以与服务相同的方式在xml中定义 我们在spring中集成了dwr directwebremoting,但没有集成在spring的DispatcherServlet中,因此它可以独立工作,因此服务实例也不同 解决方案:在DispatcherServlet内部集成dwr,如dwr站点中定义的,为了与springMVC应用程序集成,我们采用了另一种方法
请确保该服务只有一个实例,看起来有多个实例。@M.Deinum ya这是一个实例问题,但无法找到解决方法。你能帮助我吗?