什么是默认缓存键?

时间:2014-09-23 14:58:28

标签: java spring caching ehcache spring-cache

我们一直在生产中使用以下代码已经有一段时间了:

@Override
@Transactional(readOnly = true)
@Cacheable("WIDGET_SERVICE_CACHE")
public List<WidgetTO> findAllWidgets() {
    return ...;
}

@Override
@Cacheable("WIDGET_SERVICE_CACHE")
@Transactional(readOnly = true)
public List<WidgetHostTO> findAllWidgetHosts() {
    return ...;
}

正如您所看到的,这些是使用相同缓存的两种不同的零arg方法。现在,在阅读Spring cache上的一些文档后,似乎在将元素放入缓存时不考虑方法的名称。

现在我们不清楚的是,尽管根据文档它不应该有效,但确实如此。似乎只有参数用于缓存的密钥。 如果这是真的,那么还有什么考虑因素。如果没有,为什么它对我们起作用并且发出noet throw(ClassCast)例外?

0 个答案:

没有答案