gpt4 book ai didi

java - Spring Boot 同步缓存与咖啡因不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:42 32 4
gpt4 key购买 nike

我正在使用 Spring Boot 1.5.12.RELEASE,并使用咖啡因 2.6.2 作为缓存提供程序。

我的一项服务中有一个方法:

@Cacheable(cacheNames = [CacheService.MY_CACHE_NAME], sync = true)
fun fetchThing(id: Int, at: OffsetDateTime?): Thing? {
LOGGER.debug("################### $id $at #############")

// some network operation

LOGGER.debug("################### $id $at IS DONE #############")

return thing
}

我希望只看到第一个日志一次,但如果我在第一次调用解析之前再次调用 fetchThing,则该值会计算两次:

09:18:34.657 [XNIO-2 task-11] DEBUG c.a.n.i.thing.ThingService - ################### 3140 null #############
09:18:34.673 [XNIO-2 task-12] DEBUG c.a.n.i.thing.ThingService - ################### 3140 null #############
09:18:36.025 [XNIO-2 task-11] DEBUG c.a.n.i.thing.ThingService - ################### 3140 null IS DONE #############
09:18:36.030 [XNIO-2 task-12] DEBUG c.a.n.i.thing.ThingService - ################### 3140 null IS DONE #############

如果我再次调用此函数,我不会看到任何日志,因此缓存正在工作。

所以看来 sync 不起作用。我错过了什么吗?

编辑:主类注解:

@SpringBootApplication(exclude = [ElastiCacheAutoConfiguration::class])
@EnableSwagger2
@EnableScheduling
@EnableCaching
@EnableTransactionManagement
class Application

最佳答案

这很荒谬,但是...尝试更改缓存名称。

我刚刚遇到了同样的问题,并且不知道我的配置出了什么问题。所以我改变了缓存的名称 - 它神奇地工作了。太傻了...

关于java - Spring Boot 同步缓存与咖啡因不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50037154/

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