首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring Boot |创建自定义缓存注释及实现

Spring Boot |创建自定义缓存注释及实现
EN

Stack Overflow用户
提问于 2019-08-22 17:38:39
回答 1查看 787关注 0票数 0

我想创建一个自定义的spring @Cachable注释,在这里我可以定义以秒为单位的过期时间。问题是,我不知道如何在自定义注释中实现新方法"expiresInSec()“。

下面是我的自定义@Cachable注解:

代码语言:javascript
运行
复制
@Retention(RetentionPolicy.RUNTIME)
@Target(
{ElementType.TYPE, ElementType.METHOD})
public @interface Cachable
{
    Cacheable cachable();

    // cache entry expires in 1 hour by default
    int expiresInSec() default 3600;
}

这是自定义注解的调用:

代码语言:javascript
运行
复制
@Cachable(cachable = @Cacheable("WorkListRepository::getWorkList"), expiresInSec = 60)

但是expireInSec参数不起作用。在那里我必须实现这个参数方法。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-22 17:58:32

扩展Spring Cacheable需要的不仅仅是在注释中添加额外的属性。您还需要扩展注释处理器的功能,以便在Spring中进行缓存。请查看here,了解有关这一过程的更多详细信息。

Spring缓存是一个抽象概念,需要一个缓存提供者,通常在缓存层设置过期时间(例如,Ehcache为每个缓存设置了timeToLiveSeconds参数)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57606368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档