как обращаться с конфигурацией для принятия и производственной среды в Glassfish - PullRequest
0 голосов
/ 12 июля 2011

Я хочу создать приложение, которое не знает о среде, в которой оно работает. Конфигурация конкретной среды, которую я хочу оставить до конфигурации Glassfish.

Так, например, у меня есть файл persistence.xml, который «указывает» на источник данных jta

<jta-data-source>jdbc/DB_PRODUCTSUPPLIER</jta-data-source>

В glassfish этот источник данных настроен так, чтобы указывать на пул соединений. Этот пул соединений настроен для подключения к базе данных.

Я хотел бы иметь механизм, позволяющий определять эти ресурсы для рабочей среды и среды принятия без необходимости изменения имени jndi. Потому что это будет означать, что мое приложение осведомлено об окружающей среде.

Нужно ли для этого создать два домена? Или мне нужны две совершенно разные установки Glassfish?

1 Ответ

0 голосов
/ 12 июля 2011

Один из способов сделать это - использовать функции кластеризации (установка по умолчанию в GF 2.1 часто является режимом разработчика, поэтому вам придется включить кластеризацию, по-видимому, кластеризация GF 3.1 включена по умолчанию).

В рамках кластеризации вы можете создавать автономные экземпляры, которые не участвуют в кластере. Каждый экземпляр может иметь свой собственный конфиг. Эти экземпляры совместно используют все в разделе «Ресурсы», и каждый экземпляр может иметь отдельные значения в системных свойствах, наиболее важно, что это отдельные номера портов.

Таким образом, сценарий использования будет состоять в том, что ваша среда accept / beta будет работать на своем собственном экземпляре с разными портами (по умолчанию 38080, 38181 и т. Д., Если вы используете приложение http). При работе таким способом ваш новый экземпляр будет работать в отдельной JVM. С GF 2.1 вам нужно научиться управлять агентом узла. С GF 3.1 вам не придется об этом беспокоиться.

Когда вы развертываете приложение, вы должны выбрать место назначения, называемое Target, чтобы вы могли иметь версию accept / beta в одном экземпляре и рабочую версию в другом экземпляре.

Так я запускаю бета-версии с нашей текущей некластеризованной установкой GF 2.1, и она работает довольно хорошо.

...