изменить: пожалуйста, обратите пристальное внимание на вопрос. Я хочу внести изменения без перестройки и повторного развертывания приложения.Я хочу вносить изменения на лету.
У меня есть простое загрузочное приложение Spring, где я пытаюсь проверить, может ли приложение читать переменную среды без необходимости перестраивать и повторно развертывать приложение.
У меня есть простой основной класс, который также является @RestController
@SpringBootApplication
@RestController
@EnableScheduling
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Value("${taco.orders.pageSize}")
private String pageSize;
@GetMapping("/myName")
public String myName() {
return pageSize;
}
int i = 0;
@Scheduled(fixedRate = 2000L)
public void scheduled() {
System.err.println(++i + "-" + pageSize);
}
}
Это то, что у меня есть в моем файле application.yml:
taco:
orders:
pageSize: fifty
Этопечатать шрифт "пятьдесят".Но когда я иду в терминал и устанавливаю другое значение для ключа, это новое значение не отражается.
export TACO_ORDERS_PAGESIZE=NINETY
Я также создал git repo , если кто-то хочет повторить попытку.