У меня есть приложение Spring Boot и я хочу добавить кэш для некоторых методов. Я добавил @Cachable. Мой сервис выглядит примерно так:
@Service
public class MyService extends SuperService {
@Transactional(readOnly = true)
@Cacheable("objects-all")
public List<Object> getAllObjects() { Thread.sleep(4000) - I'm sure my cache works}
@Transactional
@Override
@CachePut(value = "objects-all")
public Object save(@NonNull Object entity) {
return repository.save(entity);
}
@Transactional
@Override
@CacheEvict(value = "objects-all")
public void delete(Short code) {
repository.deleteById(code);
}
}
У меня также есть файл CaheConfiguration:
@Configuration
@Import(RedisCacheConfiguration.class)
@EnableRedisRepositories("path.to.redis.repository")
@EnableCaching
@AutoConfigureAfter(value = MetricsConfiguration.class)
public class CacheConfiguration {}
Примечание: я добавил @AutoConfigureAfter (value = MetricsConfiguration.class) после некоторых исследований SpringBoot и JHipster, но это не помогает.
Тем не менее, нет никакой информации о http://localhost: 8080 / actator / jhimetrics : "cache": {}, Другая проблема заключается в том, что страница http://localhost: 8080 / привод / кэши недоступен, хотя я добавил его в application.yml:
management:
endpoints:
web:
exposure:
include: ['configprops', 'env', 'health', 'info', 'jhimetrics', 'logfile', 'loggers', 'prometheus', 'threaddump', 'caches']
В общем, моя цель - просмотреть статистику кэша c в метриках приложения JHipster: http://localhost: 8080 / admin / metrics Метрики приложения JHipster
Примечание: я также попробовал все из этой статьи: https://medium.com/@iliamsharipov_56660 / spring-boot-activator-for-concurrentmapcache-2c7f0d290934 Добавлены все классы и свойства, но это также не помогает