gpt4 book ai didi

java - Spring 启动|创建自定义缓存注释和实现

转载 作者:行者123 更新时间:2023-12-02 09:34:56 25 4
gpt4 key购买 nike

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

这是我的自定义 @Cachable 注释:

@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;
}

这是自定义注解的调用:

@Cachable(cachable = @Cacheable("WorkListRepository::getWorkList"), expiresInSec = 60)

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

谢谢

最佳答案

延长 Spring Cacheable需要的不仅仅是在注释中添加额外的属性。您还需要扩展 Spring 中注释处理器的缓存功能。检查here了解有关需要什么的更多详细信息。

Spring 缓存是一个抽象,需要缓存提供程序,并且通常在缓存级别设置过期时间(例如,Ehcache 每个缓存都有 timeToLiveSeconds 参数)

关于java - Spring 启动|创建自定义缓存注释和实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57606368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com