Pun*_*lal 5 java spring spring-boot
我已经实现了两个缓存管理器。一种使用咖啡因,一种使用 redis。我已将它们作为豆子公开,并且它们正在按预期工作。/actuator/metrics 路径中的列表中也没有任何可用的缓存端点。
我只能加载/actuator/caches和/actuator/caches/{cacheName}端点。这些端点仅显示正在使用的缓存的名称和类别。我看不到与它们相关的任何指标。我正在使用 springboot 2.1.3 和 spring-boot-actuator。
@Bean
public CacheManager caffeine() {
CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager();
caffeineCacheManager.setCaffeine(caffeineCacheBuilder());
return caffeineCacheManager;
}
private Caffeine<Object, Object> caffeineCacheBuilder() {
return Caffeine.newBuilder().
initialCapacity(initialCapacity).
maximumSize(maxCapacity).
expireAfterAccess(Duration.parse(ttl)).
recordStats();
}
Run Code Online (Sandbox Code Playgroud)
结果是@Cacheable在运行时动态地创建缓存,因此如果我们希望带注释的缓存具有指标,我们必须在cacheManagerBean中显式设置缓存名称,这反过来又使cacheManager静态。
或者创建一个自定义的registryBinder,如升级到Spring Boot 2后,如何向prometheus公开缓存指标中所述。
并且只有在缓存创建之后才调用register方法。
| 归档时间: |
|
| 查看次数: |
5914 次 |
| 最近记录: |