весенний облачный конфиг - PullRequest
0 голосов
/ 14 января 2019

Учитывая приведенную ниже службу, как я могу динамически изменять конфигурацию кэша с помощью / activator / refresh конечная точка

@Service
@Slf4j
public class GreetingService {

    @Cacheable("greeting")
    public String greet(String name) {
       log.info("Greeting: {}", name);
       return "Hello " + name ;
    }
}

со следующей конфигурацией по умолчанию

spring
  cache:
    caffeine:
      spec: maximumSize=100,expireAfterAccess=600s

Допустим, значение MaximumSize = 50, expireAfterAccess = 300 с

Добавление @ RefreshScope в GreetingService не работает. Каким-то образом мне нужно поручить Spring Boot заново создать CacheManager?

У меня есть проект поддержки:

  1. https://github.com/altfatterz/refreshscope-demo
  2. https://github.com/altfatterz/refreshscope-demo-config

Спасибо.

1 Ответ

0 голосов
/ 15 января 2019

Вы используете привод, поэтому, вероятно, у вас также есть кэш-привод присутствует. Итак, для вашего случая теста с этой командой: curl 'http://server:port/actuator/caches/greeting' -i -X DELETE

примечание: я не проверял это, это просто идея

...