0

我遇到了一个问题,即使用@CacheInvalidate注释已经不够了。

一种方法必须擦除两个不同的缓存,其中一种使用给定参数中的两个,另一种使用全部三个。

@CacheInvalidate(cacheName = "cache-with-two-identifiers")
@CacheInvalidate(cacheName = "cache-with-three-identifiers")
public void doSomething(@CacheKey String identifier, @CacheKey String anotherIdentifier, String aThirdIdentifier){

}

@CacheKey注释的参数用于具有两个标识符的缓存,因此我也无法注释第三个参数,但它需要匹配cache-with-three-identifiers的键。

到目前为止,我看到的唯一解决方案是以编程方式清除方法本身中的第三个参数缓存。你会如何在 Quarkus 中做到这一点?

4

1 回答 1

1

Quarkus 目前没有程序化缓存 API。它已经有一个未解决的问题,您可以为其 +1 并提供反馈:https ://github.com/quarkusio/quarkus/issues/8140

于 2020-11-23T14:39:32.717 回答