使用Spring以编程方式驱逐Ehcache元素

坦德姆

我是Spring和Caching的新手,希望得到您的帮助。

我通过使用Spring注释缓存Link对象

@CachePut(value=CACHE_NAME, key="{#root.targetClass, #link.getId()}")
public Link update(Link link) {...}

现在,我想以编程方式清除那些已缓存的链接,因此我尝试了此操作。

Ehcache cache = cacheManager.getEhcache(CACHE_NAME);
for(Link link : links) {
   List key = Arrays.asList(new String[] {this.getClass().toString(), link.getId()});
   cache.remove(key.toString());
}

所以,我注意到这是行不通的。您知道SpEL的列表输出是什么吗?我在缓存中需要什么键值?

在此先感谢TD

何塞·路易斯·马丁

创建缓存键是框架的内部操作。似乎更好的选择是使用公共API逐出。

例如

@CacheEvict(value=CACHE_NAME, key="{#root.targetClass, #link.getId()}")
public Link evict(Link link) {
   // nothing to do
}

但是我想下面的代码可以工作

List key = new ArrayList();
key.add(LinkService.class);
key.add(link.getId());
cache.evict(key);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JavaScript以编程方式单击非按钮元素?

来自分类Dev

使用子视图元素以编程方式滚动UIScrollView

来自分类Dev

使用for循环以编程方式将元素添加到FrameLayout

来自分类Dev

如何使用Spring以编程方式使用Rest API中的文件?

来自分类Dev

For Loop以编程方式隐藏元素

来自分类Dev

以编程方式注释xml元素

来自分类Dev

以编程方式删除html元素

来自分类Dev

以编程方式访问网格元素

来自分类Dev

如何以编程方式更改EhCache成员的到期时间

来自分类Dev

如何使用Spring Security以编程方式注销用户

来自分类Dev

如何使用Spring / Java以编程方式创建子域?

来自分类Dev

以编程方式使用chrome

来自分类Dev

以编程方式启动 spring WebSocket

来自分类Dev

以编程方式创建聚合物元素

来自分类Dev

以编程方式访问Polymer内部元素

来自分类Dev

以编程方式向元素添加属性

来自分类Dev

以编程方式创建新的UI元素

来自分类Dev

在Monotouch视图中以编程方式对齐元素

来自分类Dev

以编程方式设置选择(多个)元素值

来自分类Dev

以编程方式克隆Sparx EA中的元素

来自分类Dev

引用以编程方式创建的 UI 元素

来自分类Dev

以编程方式访问 UI 元素 UWP

来自分类Dev

以编程方式更改模型内联元素的顺序

来自分类Dev

处理以编程方式添加的表单元素

来自分类Dev

使用Spring 4.3.4版本以编程方式配置Spring Transaction

来自分类Dev

以编程方式使用尺寸等级

来自分类Dev

使用setViewControllers以编程方式导航

来自分类Dev

以编程方式使用.restext文件

来自分类Dev

使用setViewControllers以编程方式导航