【问题标题】:Spring @Cachable: Not working on methods with parametersSpring @Cachable:不适用于带参数的方法
【发布时间】:2011-12-19 09:21:59
【问题描述】:

我想试试 Spring 3.1 Cache Abstraction,用 @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("countries") public List findCountries(Locale locale) { ConfigSearchDescription desc = new ConfigSearchDescription(); // ... return findConfigs(desc); } `
  • 请在您的问题中添加格式正确的代码,您可以编辑您的问题
  • 很抱歉给您带来不便。我很难找到如何在这个板上格式化代码。我一发现就会以正确的格式发布。
  • 你是从同一个bean的另一个方法调用这个方法吗?请记住,在这种情况下,代理通常无法拦截这些调用。

标签: java spring caching


【解决方案1】:

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

这是我的错误。

感谢大家的帮助

【讨论】:

  • 这花了我 5 个小时才找到。我想这里唯一的解决方案是检查缓存的键是否存在于同一方法中,并将值作为附加检查返回。
猜你喜欢
  • 1970-01-01
  • 2021-01-25
  • 2018-10-05
  • 1970-01-01
  • 1970-01-01
  • 2018-07-19
  • 2012-08-30
  • 2015-12-20
  • 1970-01-01
相关资源
最近更新 更多