Рекомендации по настройке приложения / бина J2EE?

Каков наилучший способ управления наборами свойств для применения к EJB и простого изменения их между машинами / средами (например, DEV, TEST, PROD)? Например, есть ли способ настроить свойства EJB на сервере приложений (который гарантирует, что вы можете изменять их в зависимости от машины / среды).

В частности:

1) У меня есть Singleton EJB, который нуждается в определенных свойствах набора (среды). Существуют ли аннотации, которые используются для указания контейнеру EJB, где искать эти свойства, и автоматически применяют их к бину?

2) Каков наилучший способ управления различными наборами свойств, например dev, test, prod, чтобы приложение J2EE было переносимым между серверами, и вы можете легко управлять свойствами, характерными для каждого сервера?

Если есть хорошие ссылки на документацию - дайте мне знать. Я гуглил вокруг и ничего не видел прямо в пунктах выше.

1 ответ

Решение

Я использую одноэлементный вспомогательный класс "PropertiesHelper", который имеет член Properties и читает из файла конфигурации xml при первой попытке доступа к свойству. Помощник инкапсулирует весь набор параметров конфигурации и предотвращает их чтение с диска более одного раза.

Местоположение файла указывается в моих настройках Java и считывается в PropertiesHelper с помощью System.getProperty()

Что касается аннотаций системных свойств, я не верю, что Java поддерживает это изначально, но если вы так склонны, вы можете взглянуть на некоторые AOP/Dependency Injection фреймворки, такие как Google Guice, которые лучше в этой "сквозной".

Другие вопросы по тегам