Java Spring@Cachable:不处理带有参数的方法

Java Spring@Cachable:不处理带有参数的方法,java,spring,caching,Java,Spring,Caching,我想尝试Spring3.1缓存抽象,用@Cachable注释一些方法。这在没有参数的方法上工作得很好。对于带有参数的方法,则不需要。在文档中找不到任何内容(http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/cache.html) 有人经历过同样的事情吗 方法调用为: @Cachable("countries") public List<ConfigEntity> find

我想尝试Spring3.1缓存抽象,用@Cachable注释一些方法。这在没有参数的方法上工作得很好。对于带有参数的方法,则不需要。在文档中找不到任何内容(http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/cache.html)

有人经历过同样的事情吗

方法调用为:

@Cachable("countries") 
public List<ConfigEntity> findCountries(Locale locale) { 
    ConfigSearchDescription desc = new ConfigSearchDescription(); 
    // ... 
    return findConfigs(desc); 
} 
@Cachable(“国家”)
公共列表查找国家(区域设置){
ConfigSearchDescription desc=新的ConfigSearchDescription();
// ... 
返回findConfigs(描述);
} 
谢谢 琼尼


您是否从同一bean的另一个方法调用此方法? 请记住,在这种情况下,代理通常无法拦截这些 电话

这是我的错误

谢谢大家的帮助


您是否从同一bean的另一个方法调用此方法? 请记住,在这种情况下,代理通常无法拦截这些 电话

这是我的错误


谢谢大家的帮助

它工作得很好,请演示您的代码并快速响应。它直接指向文档的示例代码。方法调用是:`@Cachable(“countries”)public List findCountries(Locale Locale){ConfigSearchDescription desc=new ConfigSearchDescription();/…return findConfigs(desc);}`请在您的问题中添加格式正确的代码,您可以编辑您的问题backstore以避免不便。我花了很长时间才弄明白如何在这块板上格式化代码。一旦我发现,我会尽快将其正确格式化。您是否从同一bean的另一个方法调用此方法?记住,在这种情况下,代理通常无法拦截这些调用。它工作得很好,请演示您的代码,以便快速响应。它直接指向文档的示例代码。方法调用是:`@Cachable(“countries”)public List findCountries(Locale Locale){ConfigSearchDescription desc=new ConfigSearchDescription();/…return findConfigs(desc);}`请在您的问题中添加格式正确的代码,您可以编辑您的问题backstore以避免不便。我花了很长时间才弄明白如何在这块板上格式化代码。一旦我发现,我会尽快将其正确格式化。您是否从同一bean的另一个方法调用此方法?记住,在这种情况下,代理通常无法拦截这些呼叫。我花了5个小时才找到答案。我想这里唯一的解决方案是检查缓存的键是否存在于同一个方法中,并作为附加检查返回值。我想这里唯一的解决方案是检查缓存的键是否存在于同一个方法中,并作为附加检查返回值。