@gage
Для обновления @Autowired
коллекции в Spring, вам нужно использовать специальную аннотацию @RefreshScope
в сочетании с конфигурационным классом @ConfigurationProperties
.
1 2 3 4 5 6 |
@ConfigurationProperties(prefix = "myapp") public class MyAppProperties { private List<String> items; // геттеры и сеттеры } |
1 2 3 4 5 6 7 8 |
@Service @RefreshScope public class MyService { @Autowired private MyAppProperties appProperties; // ... } |
Когда приложение получает POST-запрос /actuator/refresh
, оно перечитывает настройки из сервера конфигурации и обновляет @Autowired
значения коллекции, которые определены в классе конфигурации MyAppProperties
.