Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • После старта сервера, в логе старта одной из последних строк будет строка с ссылкой на jnlp-файл (например https://download.lsfusion.org/java/lsfusion-client-23.20.jnlp), запустив который клиент автоматически установится при помощи технологии Java Web Start.

...

  • Скачать файл lsfusion-server-<version>.jar нужной версии (например lsfusion-server-23.20.jar) с центрального сервера в папку нужного модуля проекта (далее будем называть эту папку $FUSION_DIR$).
  • Если сервер БД находится на другом компьютере, а также если на сервере БД включена авторизация (например, для Postgres, по методу md5 и пароль postgres не пустой), задать параметры подключения к серверу БД (например, создав файл настроек запуска в папке проекта)
  • Добавить скачанный файл в качестве зависимости нужного модуля проекта (File → Project Structure → Modules → имя модуля → вкладка Dependencies → +) 
  • Создать конфигурацию запуска (при создании нового lsFusion проекта этот и верхние два пункта выполняются автоматически). 
    Anchor
    bean
    bean
    Если платформа подключается в качестве библиотеки, вместо создания конфигурации можно использовать Spring bean c идентификатором logicsInstance из конфигурационного файл lsfusion.xml, и его методы start() и stop() отвечающий за старт и остановку сервера приложений соответственно.

...

  • Прописать в pom.xml или в качестве parent lsfusion.platform.build:logics, или в качестве dependency lsfusion.platform:server (на данный момент эти артефакты не находятся в центральном репозитарии, поэтому дополнительно необходимо прописать путь к lsFusion-репозитарию), например:

    Code Block
    <repositories>
        <repository>
            <id>lsfusion</id>
            <name>lsFusion Public Repository</name>
            <url>http://repo.lsfusion.org</url>
        </repository>
    </repositories>
    
    <parent>
        <groupId>lsfusion.platform.build</groupId>
        <artifactId>logics</artifactId>
        <version>2<version>3.0</version>
    </parent>

    Первый вариант (с parent) хорош тем, что:

    • Anchor
      uber
      uber
      Maven автоматически настроит сборку uber-jar (то есть один файл содержащий все файлы проекта). Запустить эту сборку можно используя maven-профиль assemble - при его включении на фазе package дополнительно формируется jar-файл с постфиксом assembly, который содержит не только файлы этого проекта, но и файлы всех зависимостей проекта, в том числе файлы самого сервера приложений. Впрочем, в случаях когда сервер приложений устанавливается отдельно от самого приложения (например, при автоматической установке) включение сервера приложения в результирующий uber-jar нежелательно. Поэтому, помимо assemble, в платформе также поддерживается maven-профиль noserver, при включении которого (вместе с assemble) при формировании jar-файла с постфиксом assembly туда не будут включаться файлы сервера приложений (пример команды : mvn package assemble noserver).

    • Maven и IDE автоматически определят source и resources директории (например таким по умолчанию является src/main/lsfusion)
    • Maven автоматически настроит weav'инг аспектов сервера приложений. Впрочем, это необходимо в достаточно редких случаях: если в проекте есть прикладные rmi-сервера (то есть объекты наследующие lsfusion.interop.server.RmiServerInterface, доступ которыми осуществляется удаленно через RMI) или используются различные системные аннотации сервера приложений (например lsfusion.server.base.caches.IdentityLazy для кэширования результатов выполнения).

    По втором варианте все вышеперечисленное необходимо настраивать вручную непосредственно разработчику.

    Также как и для других проектов, не созданных при помощи операции создания нового lsFusion проекта, для maven-проекта необходимо вручную создать файл настроек и конфигурацию запуска (или если платформу необходимо подключить в качестве библиотеки использовать специальный Spring bean)

...