powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spirng framework, reload file
4 сообщений из 4, страница 1 из 1
Spirng framework, reload file
    #33995549
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Возник следующий вопрос:
в контексте определен Resource файл (properties), который устанавливается ряду контроллеров. Существует возможность изменить содержимое _файла_.
Нужно иметь возможность "перезагрузить" файл для всего приложения.

Несколько нюансов:
1. Файл может подключаться и как Resource и как Properties (через своеобразную проксю).
2. Контекстов несколько (разные приложения на одном томкате с единым web.xml).
3. Т.к. в классы контроллеров и Resource и Properties передаются по ссылке, пробывал обойтись банальным присваиванием. Не вышло.

Есть ли какие-либо стандартные механизмы для решения данной проблемы ?
Ведь ситуация, как я понимаю, достаточно распространенная, а рестартить приложение после изменения какой-бы ни было настройки - не целесообразно.

Спасибо.
...
Рейтинг: 0 / 0
Spirng framework, reload file
    #33995902
BlackWall
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видел, что контекст приложения может иметь дочерние контексты. таким образом, вороятно, целесообразно было бы иметь один корневой контекст, который бы запрашивал бины у дочерних. У контекста можно изменть его родительский. Не знаю, можно ли удалять дочерние контексты или в данном случае заменять. Если можно, то остается только задача загрузки нового контекста при изменении xml файла. Хотя могут быть и проблемы - бины, созданные в старом контексте и закешированные в любом классе вне контейнера, не перегрузатся. Вероятно, это требует следования определенным правилам работы с бинами, создаваемыми контекстом.
...
Рейтинг: 0 / 0
Spirng framework, reload file
    #33996825
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, я не правильно описал проблему.
В контексте есть такое определение:

Код: plaintext
1.
2.
3.
<bean id="properties"  class ="com.....PropertiesLoader">
      <property name="resource" value="classpath:props.properties"/>
</bean>
возвращает java.util.Properties

Далее, для возможности изменения в одном из бинов этот properties устанавливается так:

Код: plaintext
1.
2.
3.
<bean id="propsEdit"  class ="com....PropsEdit">
  <property name="properties" value="classpath:props.properties"/>
</bean>

Т.е. после изменений внесенных посредством класса propsEdit нужно, чтобы:
1. Заново считался файл и переустановился везде где это нужно первый бин.
2. Заново считался properties Resource во втором классе.
...
Рейтинг: 0 / 0
Spirng framework, reload file
    #33996922
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 ozzy:
перезагрузить контейнер можно только реинициализацией bean factory/application context.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spirng framework, reload file
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]