gpt4 book ai didi

hibernate - 如何在 Spring Boot 应用程序中为 ehCache 配置 Dropwizard/CodaHale 指标?

转载 作者:行者123 更新时间:2023-12-05 01:01:12 24 4
gpt4 key购买 nike

所以这是我的问题。我的 Spring Boot 应用程序使用 Hibernate/JPA 和 ehCache 进行二级缓存。我想用 Dropwizard/Coda-Hale 指标来检测 ehCache,但我不确定如何去做。如果我手动创建 Cache 实例,那就很简单了。您只需使用如图所示的装饰器 here .但由于它是 Spring/Hibernate,我无法控制缓存。任何想法我将如何进行设置?

最佳答案

好吧,我相信我终于想通了。事实证明,在返回 Spring 类 ehCacheCacheManager 的 cacheManager 的 Spring JavaConfig 中添加仍然可以用于访问底层 ehCache 类并对其进行修饰。这是我让它工作的方式

@Bean
public EhCacheCacheManager ehCacheCacheManager() {
final EhCacheCacheManager ehCacheCacheManager = new EhCacheCacheManager(ehCacheManagerFactoryBean().getObject());
net.sf.ehcache.CacheManager cacheManager = ehCacheCacheManager.getCacheManager();
String[] cacheNames = cacheManager.getCacheNames();
for (String cacheName : cacheNames) {
Cache cache = cacheManager.getCache(cacheName);
cacheManager.replaceCacheWithDecoratedCache(cache, InstrumentedEhcache.instrument(metricRegistry, cache));
}
return ehCacheCacheManager;
}


@Bean
public EhCacheManagerFactoryBean ehCacheManagerFactoryBean() {

EhCacheManagerFactoryBean cacheManagerFactoryBean = new EhCacheManagerFactoryBean();

cacheManagerFactoryBean.setConfigLocation(new ClassPathResource("ehcache.xml"));
cacheManagerFactoryBean.setShared(true);

return cacheManagerFactoryBean;
}

关于hibernate - 如何在 Spring Boot 应用程序中为 ehCache 配置 Dropwizard/CodaHale 指标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28632730/

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