使用 JSR-107 注释清除缓存
Clear a cache with JSR-107 annotations
在 REST API 上,我想创建一个清除特定缓存的端点:
DELETE /cache/{cacheName}
是否可以实现它而不是:
public void clearCache(String cacheName) {
cacheManager.getCache(cacheName).clear();
}
这样的事情?
@CacheRemoveAll
public void clearCache(String cacheName) {}
所以我避免注入 CacheManager
.
很遗憾,没有。
注解不能配置动态对象,只能使用常量。所以不可能将路径参数 cacheName
传递给 @CacheRemoveAll
注释。如果您事先知道所有缓存名称,您只能这样做——通过为每个缓存创建一个 DELETE 端点,例如:
@CacheRemoveAll(cacheName="cache-1")
public void clearCache1(){}
@CacheRemoveAll(cacheName="cache-2")
public void clearCache2(){}
在 REST API 上,我想创建一个清除特定缓存的端点:
DELETE /cache/{cacheName}
是否可以实现它而不是:
public void clearCache(String cacheName) {
cacheManager.getCache(cacheName).clear();
}
这样的事情?
@CacheRemoveAll
public void clearCache(String cacheName) {}
所以我避免注入 CacheManager
.
很遗憾,没有。
注解不能配置动态对象,只能使用常量。所以不可能将路径参数 cacheName
传递给 @CacheRemoveAll
注释。如果您事先知道所有缓存名称,您只能这样做——通过为每个缓存创建一个 DELETE 端点,例如:
@CacheRemoveAll(cacheName="cache-1")
public void clearCache1(){}
@CacheRemoveAll(cacheName="cache-2")
public void clearCache2(){}