Java / Java EE устанавливает параметры времени выполнения динамически - PullRequest
0 голосов
/ 22 февраля 2012

Насколько реально / целесообразно явно задавать системные свойства во время выполнения в производственных средах? Что, если есть веб-сервис, который обновит системные свойства - в основном флаги. Эти флаги в свою очередь можно использовать для включения / выключения уровня журнала и т. Д.

Операция будет выглядеть следующим образом:

  1. Настройка веб-службы в приложении live prod
  2. доступ к веб-службе [ограничить доступ для определенных пользователей] - это представит пользовательский интерфейс, который обновит системные свойства
  3. приложение будет использовать обновленные системные свойства в дальнейшем

Есть предложения по этому подходу? Или это уже обычное явление?

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Я не понимаю, почему это не сработает, за исключением случаев, когда ваше приложение кластеризовано между несколькими JVM.В этом случае вам лучше сохранить конфигурацию в центральной базе данных или распространить изменения на все другие JVM, например, используя тему JMS.

Если вы хотите, чтобы эти системные свойства сохранялись после перезапуска, лучше сохранить их и в базе данных.

0 голосов
/ 23 февраля 2012

Эта идея заставляет некоторых людей смущаться, но имеет некоторую привлекательность ... вы можете хранить свои свойства в svn или git и просто отправлять уведомления «обновить конфигурацию» на серверы через JMS-тему, как предлагает JB Nizet.

Некоторые приятные аспекты:

  • вся конфигурация становится версионной и может быть отменена (полная история редактирования)
  • легко поддерживать несколько версий и указывать конкретным серверам "обновляться"
  • кто-то сломал конфиг! ... svn blame theconfig.properties

Тот факт, что время и имена связаны с каждым редактированием, может дать хороший способ узнать, чей мобильный телефон поджечь.

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