Skip to end of metadata
Go to start of metadata

Сервер приложений (Server)

Java

Java параметры запуска сервера приложений задаются в его команде запуска (например для ручной или автоматической установки) :


НазваниеТипОписаниеПо умолчанию
Системные (начинаются на X)Стандартные

Стандартные Java параметры. Прежде всего важно обратить внимание на:

  • cp - classpath, пути в которых java ищет class файлы и другие ресурсы (в том числе lsFusion модули). По умолчанию равен . - текущая папка (при автоматической установке отличается).
  • Xmx - максимальный размер памяти. Значение по умолчанию определяется в зависимости от конфигурации компьютера, на котором запускается сервер приложений. Для сложных логик рекомендуется устанавливать не менее 4ГБ. 

-XX:CMSInitiatingOccupancyFractionintВообще это стандартный параметр, отвечающий за порог, после которого включается CMS сборщик мусора. В то же время платформа использует этот параметр для таргетирования объема используемой памяти при помощи LRU кэшей (устанавливая более агрессивные параметры их очистки, если эта цель превышена, и менее агрессивные - в обратном случае). Для высоконагруженных серверов рекомендуется устанавливать в диапазоне от 40 до 60.70
Пользовательские (начинаются на D)

-Dlsfusion.server.lightstart

boolean

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

В IDE регулируется галочкой в lsFusion server конфигурации (по умолчанию включена).

false

-Dlsfusion.server.devmode

boolean

Режим разработки. В этом режиме:

  • Не запускаются системные задачи (чтобы не мешать отладчику)
  • Включается возможность редактирования дизайна отчетов в интерактивном печатном представлении
  • Включается анонимный доступ к API и UI (системные параметры enableAPI, enableUI). Кроме того в этом режиме анонимный доступ идет под админом, а не анонимным пользователем
  • Клиент автоматически переподключается при потере связи
  • Выключается кэш чтения отчетов из ресурсов

В IDE автоматически включается при запуске lsFusion server конфигурации.

false
-Dlsfusion.server.testmodeboolean

Включает некоторые экспериментальные возможности

Автоматически включается, если включены assertion'ы (опция -ea)

false

lsFusion

lsFusion параметры запуска сервера приложений могут задаваться одним из следующих способов (в порядке их приоритетов, снизу более приоритетные) :

  • В ресурсах в xml-файле lsfusion.xml в местах использования этих параметров, после : (актуально для форков платформы)
  • В lsfusion.properties (обычно являются частью проекта, а значит действует по умолчанию для всех инсталляций)
  • В conf/settings.properties (для конкретных инсталляций)
  • В Java параметрах запуска (начиная с D, например -Dlogics.topModule=FFF)
НазваниеТипОписание

По умолчанию

db.server, db.name, db.user, db.password, db.connectTimeout

string, string, string, string, int

Параметры подключения к серверу БД (базы данных):

  • db.server - адрес сервера БД (плюс при необходимости порт через :, например localhost:6532)
  • db.name - имя БД
  • db.user - имя пользователя для подключения к серверу БД
  • db.user - пароль пользователя для подключения к серверу БД
  • db.connectTimeout - таймаут подключения к СУБД
localhost, lsfusion, postgres, , 1000

rmi.port, rmi.exportName, http.port

int, string, int

Параметры доступа к серверу приложений:

  • rmi.port - порт сервера приложений (экспортируемых им RMI регистра / объектов)
  • rmi.exportName - имя сервера приложений (экспортируемого им корневого RMI объекта). Имеет смысл использовать, если на одном порту необходимо экспортировать несколько логик
  • http.port - порт веб-сервера встроенного в сервер приложений (используется для обращения из внешних систем)
7652, default, 7651

logics.includePaths, logics.excludePaths, logics.topModule, logics.orderDependencies

string. string, string, stringПараметры проекта (какие модули загружать и в каком порядке, подробное описание по ссылке)logics.includePaths равен *, остальные - пустые

user.country, user.language, user.timezone, user.twoDigitYearStart

(user.setCountry, user.setLanguage, user.setTimezone)

string, string, string, int

Стандартные Java параметры, определяющие параметры локали (региональные настройки - язык, страна и т.п., подробное описание по ссылке)

Из-за особенностей Java Spring (а именно, что параметры локали считаются Java Spring заданными, даже если они явно не заданы в команде запуска, то есть настройки этих параметров в .properties файлах игнорируются), в платформе поддерживаются "клоны" этих параметров начинающиеся на set, которые, в случае если заданы (как в .properties файлах так и в строке запуска), "перегружают" родные параметры. То есть приоритет такой ОС, -Duser.*, user.set* в .properties файлах,  -Duser.set* (все вышесказанное не касается user.twoDigitYearStart, так как он не является стандартным Java параметром)

Первые три определяются из настроек операционной системы, Текущий год минус 80

db.namingPolicy, db.maxIdLength

string, int

Параметры политики именования таблиц и полей:

db.namingPolicy - имя java-класса политики (полное, с package'м), в конструкторе должен принимать один параметр типа int - максимальный размер имени.

Имена классов встроенных политик:

  • Полное с сигнатурой - lsfusion.server.physics.dev.id.name.FullDBNamingPolicy
  • Полное без сигнатуры - lsfusion.server.physics.dev.id.name.NamespaceDBNamingPolicy
  • Краткое - lsfusion.server.physics.dev.id.name.ShortDBNamingPolicy

db.maxIdLength - максимальный размер имени таблицы или поля. Передается первым параметром в конструктор java-класса политики именования таблиц и полей.

Полное с сигнатурой, 63
db.denyDropModules, db.denyDropTablesboolean, boolean

Запреты на удаления при запуске:

  • db.denyDropModules - модулей
  • db.denyDropTables - таблиц
false, false
logics.initialAdminPasswordstringПароль администратора по умолчанию

Пример файла conf/settings.properties (3-й пункт):

$FUSION_DIR$/conf/settings.properties
db.server=localhost
db.name=lsfusion
db.user=postgres
db.password=pswrd

rmi.port=7652

По умолчанию предполагается, что файлы параметров запуска conf/settings.properties и lsfusion.properties находятся в папке запуска сервера приложений. Впрочем при автоматической установке под Linux для этих файлов (как и для папок логов)  автоматически создаются symlink'и на другие файлы, расположение которых лучше соответствует идеологии Linux.

Веб-сервер (Client)

Java

Java параметры запуска веб-сервера задаются в команде запуска Tomcat, на котором, в свою очередь, запускается этот веб-сервер (например для автоматической установки). 


НазваниеТипОписание
Системные (начинаются на X)Стандартные

Стандартные Java параметры. Прежде всего важно обратить внимание на:

  • Xmx - максимальный размер памяти. Для сложных логик рекомендуется устанавливать не менее 2ГБ.

lsFusion

lsFusion параметры запуска веб-сервера могут задаваться одним из следующих способов (в порядке их приоритетов, снизу более приоритетные) :

  • В параметрах контекста веб-приложения:
    • в веб-приложении в файле /WEB-INF/web.xml, тег context-param (актуально для форков платформы)
    • в веб-приложении в файле /META-INF/context.xml, тег Context, тег Parameter (актуально для форков платформы)
    • в Tomcat в файле $CATALINA_BASE/conf/[enginename]/[hostname]/[contextpath].xml, тег Context, тег Parameter, где:
      • $CATALINA_BASE$ - папка, в которую установлен Tomcat (например, в автоматической установке, эта папка равна $INSTALL_DIR/Client)
      • [contextpath] - контекстный путь веб-приложения (например, в автоматической установке, по умолчанию это имя пустое, что в Tomcat'е эквивалентно имени ROOT, в ручной - зависит от имени war-файла), 
      • [enginename] и [hostname] - имена механизма реализации tomcat и компьютера веб-сервера (например в автоматической установке, эти имена равны catalina и localhost соответственно)
    • в Tomcat в файле $CATALINA_BASE/conf/server.xml, тег Context, тег Parameter (не рекомендуется)
  • В параметрах URL'а (например http://tryonline.lsfusion.org?host=3.3.3.3&port=4444)
НазваниеТипОписаниеПо умолчанию

host, port, exportName

string, int, string

Параметры подключения к серверу приложений. Должны соответствовать параметрам доступа к серверу приложений.

  • host - адрес сервера приложений
  • port - порт сервера приложений. Должен соответствовать параметру - rmi.port
  • exportName - имя сервера приложений. Должен соответствовать параметру - rmi.exportName
localhost, 7652, default

Пример файла настройки Tomcat (3-й пункт в параметрах контекста):

$CATALINA_BASE/conf/[enginename]/[hostname]/ROOT.xml
<?xml version='1.0' encoding='utf-8'?>
<Context>
    <Parameter name="host" value="localhost" override="false"/>
    <Parameter name="port" value="7652" override="false"/>
</Context>

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

  • No labels