Есть ли способ автоматически перезагрузить файл ресурсов Spring? Я хочу найти простой способ изменить мою конфигурацию XML во время выполнения. Файл XML находится вне папки classpath.
Есть идеи?
ТНХ:)
Если вы имели в виду, что хотите избежать повторного развертывания сервера для изменения конфигурации xml, вы можете проверить JRebel http://zeroturnaround.com/jrebel/.
Если вы хотите обновить конкурс приложений, используйте ConfigurableApplicationContext.refresh () или, более конкретно, для веб-среды, AbstractRefreshableWebApplicationContext . Вы можете посмотреть это с помощью context: property-placeholder.
Да.
Spring предоставляет ReloadableResourceBundleMessageSource , который может перезагрузить файл свойств с помощью параметра cacheSeconds . Он поддерживает файлы свойств в формате *.properties иXML-формат, используемый Properties.loadFromXML () .
*.properties
Если ваш XML-файл имеет другие форматы, вам нужно создать собственный загрузчик ресурсов, расширив ReloadableResourceBundleMessageSource и реализуйте свою логику для анализа XML-файла, переопределив его loadProperties (ресурсный ресурс, имя файла String) .
Создайте свое собственное расширение для интерфейса ResourceBundle и используйте его для поиска строк вместо Spring. Таким образом, вы можете контролировать такие вещи, как перезагрузка.