Удалить энв переменную в рантайм
Spring Boot actuator - есть выставленный урл /env, по которому можно посмотреть environment variables (порт, base path, какие то кастомные переменные)
Есть ли возможность удалить переменную во время выполнения?
Такая ситуация: в классе указана переменная:
@Value("my.custom.bool:true")
boolean param;
Но когда я делаю запрос GET https://.../env на эндпоинт актуатора, он возвращает мне список всех существующих переменных в котором нет ... моего парама!)
Чудеса) Как такое возможно?
Upd: значение по дебагу false,по поведению тоже. Класс отмечен как компонент
Ответы (1 шт):
Вы неправильно понимаете, как работает @Value("my.custom.bool:true").
Вы, похоже, воспринимаете эту аннотацию, как способ задания параметра конфигурации в spring. Но на самом деле это только использование параметра конфигурации в конкретном месте, но при этом, если параметр не задан (как у вас), то используется значение по умолчанию (true).
Может показаться, что нет разницы. Но разница есть, она в том, что @Value не устанавливает значение параметра в окружение (по-этому вы этого параметра там и не видите, в окружении он не установлен).