Лучший способ настроить корпоративное Java-приложение - PullRequest
3 голосов
/ 22 ноября 2008

У меня есть набор EJB и других классов Java, которые необходимо настраивать по-разному в зависимости от системной среды, в которой они развернуты: производственной, тестовой или лабораторной. Информация о конфигурации включает в себя такие вещи, как URL-адреса и информацию о подключении к базе данных.

Мы хотели бы развернуть один и тот же точный продукт (файл EAR) в каждой среде, и чтобы после этого код выяснил, где он находится и какова его конфигурация, без необходимости обращаться к каждому серверу развертывания в каждой среде. внести изменения.

Каков наилучший способ настройки всех этих компонентов централизованным, надежным и простым в обслуживании способом?

Спасибо за ваши мысли.

Ответы [ 3 ]

2 голосов
/ 22 ноября 2008

Лучше всего, IMHO, использовать записи JNDI.

Возможно, вам придется перекодировать некоторые части вашего приложения, чтобы использовать записи тезисов вместо простых переменных, но с этой настройкой:

  • Конфигурация не зависит от сервера: каждый поставщик предоставляет собственную реализацию, но спецификация является стандартом.
  • В кластерной среде конфигурацию можно сохранить в дереве JNDI для всего кластера (см. JBoss)
  • Конфигурация может быть изменена через webadmin без перезапуска сервера.
0 голосов
/ 22 ноября 2008

Если вы развертываете один и тот же EAR-файл в трех разных экземплярах определенного контейнера, вам придется редактировать параметры развертывания, поскольку нет никакого способа, чтобы процесс развертывания мог иметь представление о том, какую из трех версий вы бы выбрали нравится использовать при конкретном развертывании.

Настройки развертывания должны входить в записи JNDI, как сказал выше Пьер-Ив.

На вашем месте мой скрипт развертывания (Ant?) Правильно заполнял бы записи JNDI в зависимости от среды, в которой вы развертываете.

0 голосов
/ 22 ноября 2008

Способ хранения / настройки информации пула соединений с базой данных зависит от поставщика сервера приложений. Поместите другие переменные в файлы свойств на пути к классам.

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