Как изменить значение аннотации без перезапуска сервера
У меня есть код ниже:
@Value("${XXX.Run.Flag}")
private String xxxABC;
Я читаю значение XXX.Run.Flag из моего файла config.properties.
Теперь, когда я изменяю значение этого ключа в моих конфигурационных файлах, оно не отражается до тех пор, пока я не перезапущу сервер. Мне известно, что аннотации инициализируются во время запуска приложения.
Я не хочу перезагружать сервер, если я внесу какие-либо изменения в значение ключа аннотации. Может кто-нибудь подсказать мне, как это сделать.
Я использую Portlet Spring MVC 3.0.
2 ответа
Возможно, вы захотите рассмотреть сервер конфигурации Spring Cloud, он предлагает многое, включая то, что вы просите
@RefreshScope
на весну @Beans
которые хотят быть повторно инициализированы при изменении конфигурации,
Я бы порекомендовал использовать net.unicon.springframework.addons.properties.ReloadablePropertiesFactoryBean
как описано здесь