Project

General

Profile

Настройка GlassFish 2.1X

Внимание - GlassFish очень "любит" перезапуск.

Начальные параметры

Меняем время жизни сессии.

В разделе Configuration-->Web container на закладке Session properties заполняется поле Session timeout. Мы рекомендуем значение 240 (4 минуты). Замечание: Срок истечения сессии, должен быть меньше чем аналогичный параметр Sun Java Access Manager Server, если Вы намерены его использовать.

Создание листенера

Раздел "Configuration"-"HTTP service"-"HTTP-listeners". Кнопка "New...". Заполняем поля:

  • Name - логическое имя, к нему потом будем обращаться из конфигурации виртуальных серверов.
  • Network Address - ставьте 0.0.0.0. Для продвинутых админов - дополнительная информация.
  • Port - ну, с этим все ясно. Главное не забыть, что, если GF запускается не из-под root, то нижние порты нам не доступны.
  • Default Virtual Server - сначала ставим "Server", потом можно будет поменять.

Не забудьте нажать кнопку "Save". Если это единственное изменение конфигурации - перезапускаем GF.

Создание виртуального сервера.

"Configuration"-"HTTP service"-"Virtual Servers". Кнопка "New...". Заполняем поля:

  • Id и Hosts рекомендуем выставлять так, как прописано в DNS и как потом будут идти обращения к приложению.
  • HTTP Listeners - к каким листенерам наш виртуальный сервер будет "цепляться".
  • Default Web Module - модуль "docero.pack#docero.war".

Не забудьте нажать кнопку "Save". Если это единственное изменение конфигурации - перезапускаем GF.

Настройки

Дальше мы будем описывать некоторые настройки, которые могут пригодиться в процессе эксплуатации.

  • Это информация к РАЗМЫШЛЕНИЮ!

Жестких рецептов в администрировании практически нет, анализируйте, пробуйте. Удачи!

Настройки GlassFish делаются либо через административную консоль, либо прямой правкой файла конфигурации — <Корень GF>/domains/<домен>/domain.xml

Connection pool

Административная консоль GF. Выбираем в ресурсах («Resources») наше соединение с MySQL («Connection Pool»). В нем — закладка "General", подраздел "Pool Settings".

Наша рекомендация: максимальное количество одновременно работающих пользователей Доцеро +10%

Можно, конечно, поставить и 1000. Но, каждое соединение «съедает» одну сессию в MySQL и, соответственно, кушает оперативку. Да и сессии MySQL Тоже ведь могут закончиться...

snmp

  • Для v. 2.1

Редактируем <домен_GlassFish>/config/domain.xml . В раздел «различных опций» вставляем три строки. Соответственно:

  • какой порт слушать агенту
  • где расположен acl-файл к агенту
  • на каком интерфейсе будет находиться наш агент
 <!-- various required jvm-options -->
 <jvm-options>-Dcom.sun.management.snmp.port=1161</jvm-options>
 <jvm-options>-Dcom.sun.management.snmp.acl.file=/rd/gf/glassfish/domains/domain1/config/jvm-appserv.acl</jvm-options>
 <jvm-options>-Dcom.sun.management.snmp.interface=127.0.0.1</jvm-options>

Теперь acl-файл.

acl = {
{
communities = mypassword
access = read-only
managers = 127.0.0.1
}
}
  • acl-файл должен принадлежать пользователю, от имени которого запускается GlassFish.
  • Для Unix — выставляем разрешение 600.

Важно! Нет, даже не так, а вот так — ВАЖНО!!! В версии 2.1 есть неисправимая ошибка — включение snmp блокирет работу системы логгирования!

Статья (англ.) — http://www.randombugs.com/java/glassfish/snmp-support-glassfish-211-cluster-support.html

proxy

Если сервер приложений (GlassFish) не имеет прямого выхода в Интернет, можно (нужно) настроить proxy.

Редактируем <домен_GlassFish>/config/domain.xml . В раздел «различных опций» вставляем две строки. Соответственно:

  • Имя сервера, где работает proxy
  • номер порта.
 <!-- various required jvm-options -->
 <jvm-options>-Dhttp.proxyHost=myproxyserver.com</jvm-options>
 <jvm-options>-Dhttp.proxyPort=80</jvm-options>

По материалам:

http://www.rgagnon.com/javadetails/java-0085.html
http://docs.oracle.com/javase/1.4.2/docs/guide/net/properties.html