Автоматическая перезагрузка ресурсов в Spring - PullRequest
4 голосов
/ 05 января 2012

Есть ли способ автоматически перезагрузить файл ресурсов Spring? Я хочу найти простой способ изменить мою конфигурацию XML во время выполнения. Файл XML находится вне папки classpath.

Есть идеи?

ТНХ:)

Ответы [ 4 ]

4 голосов
/ 05 января 2012

Если вы имели в виду, что хотите избежать повторного развертывания сервера для изменения конфигурации xml, вы можете проверить JRebel http://zeroturnaround.com/jrebel/.

2 голосов
/ 05 января 2012

Если вы хотите обновить конкурс приложений, используйте ConfigurableApplicationContext.refresh () или, более конкретно, для веб-среды, AbstractRefreshableWebApplicationContext . Вы можете посмотреть это с помощью context: property-placeholder.

0 голосов
/ 05 января 2012

Да.

Spring предоставляет ReloadableResourceBundleMessageSource , который может перезагрузить файл свойств с помощью параметра cacheSeconds . Он поддерживает файлы свойств в формате *.properties иXML-формат, используемый Properties.loadFromXML () .

Если ваш XML-файл имеет другие форматы, вам нужно создать собственный загрузчик ресурсов, расширив ReloadableResourceBundleMessageSource и реализуйте свою логику для анализа XML-файла, переопределив его loadProperties (ресурсный ресурс, имя файла String) .

0 голосов
/ 05 января 2012

Создайте свое собственное расширение для интерфейса ResourceBundle и используйте его для поиска строк вместо Spring. Таким образом, вы можете контролировать такие вещи, как перезагрузка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...