热切地缓存Mono

时间:2018-03-07 15:59:21

标签: spring project-reactor

我希望急切地缓存Reactor Mono的结果。它计划每10分钟在缓存中更新一次,但由于Mono仅在订阅时进行评估,因此该任务实际上不会刷新缓存。

示例:

@Scheduled(fixedRate = 10 * 60 * 1000 + 3000)
fun getMessage(): Mono<String> {
    return Mono.just("Hello")
            .map { it.toUpperCase() }
            .cache(Duration.ofMinutes(10))
}

1 个答案:

答案 0 :(得分:1)

您需要将$sql = "UPDATE observation SET id = :id, first_name = :first_name, last_name = :last_name, email = :email, location = :location, country = :country WHERE id = :id"; 存储在某处,否则每次调用该方法(通过Mono或直接)将返回不同的实例。

也许作为伴侣对象?

以下是我如何在Java中天真地做到这一点:

Scheduled