Мне было интересно, можно ли динамически изменять значение переменной среды без перезапуска сервера, чтобы можно было получить доступ к различным файлам свойств на основе значения текущего установленная среда.Динамическое переключение между файлами свойств путем изменения имени среды весной
Рассмотрим эти две мои файлы свойств:
config-dev.properties
config-prod.properties
Теперь, поскольку я приложил имя окружающей среды с каждым файлом, так что я хочу знать, что это возможно, что я динамически изменять или устанавливать значение имя среды и соответствующий файл свойств будут использоваться без перезапуска сервера.
Я знаю, как установить env.name в файле конфигурации XML.
<context:property-placeholder location="classpath:/config-${env.name}.properties>
Я хочу программно изменить имя среды, чтобы при ее доступе можно было использовать правильный файл свойств.
<контекст: property-placeholder location = "classpath:/config - $ {env.name} .properties> - это один из способов сделать это, где ваше env.name - это конфигурация запуска, которая может быть установленным параметром запуска. . Другой способ сделать это - использовать профиль Spring bean Profile, где вы определяете профиль, а бобы, определенные для этого профиля, будут загружаться во время запуска контейнера Spring. Поскольку ваш контейнер Spring уже запущен, а бобы - уже загружен, теперь вы хотите загрузить другой набор компонентов без перезапуска контейнера Spring. Я не уверен в этом. – Hrishikesh
@Hrishikesh моя проблема заключается только в том, что мне нужно сделать это без перезапуска приложения или сервера. –
Итак u использует тот же сервер для Prod, а также DEv – Anubhab