Загрузка сервера

Процесс загрузки SberMobile Server оптимизирован для высокой производительности. Поэтому большинство стадий, которые занимают значительное время, задействуют многопоточное выполнение заданий.

Процесс загрузки содержит следующие основные стадии:

  • Инициализация системы журналирования. Журналирование ошибок файлов и консоли доступны с этого момента.
  • Загрузка менеджера ресурсов. Она обеспечивает работу операций по ребрендированию фирменного стиля.
  • Загрузка внешних библиотек JAR и JNI. Архивы Java не включают в себя плагины сервера.
  • Загрузка и обработка настроек сервера.
  • Проверка обновлений. Эта стадия может быть пропущена, если нет Интернет соединения.
  • Инициализация системы безопасности.
  • Загрузка и инициализация плагинов. Вызывается метод всех плагинов контекста ContextPlugin.initialize().
  • Инициализация доступа к хранилищу данных сервера.
  • Загрузка Отказоустойчивого кластера. Ведомые узлы отказоустойчивого кластера active-passive находятся на этой стадии до тех пор, пока работает первичный узел.
  • Загрузка дерева контекстов. Вызывается метод всех контекстов Context.setupMyself(). Все дочерние контексты любого зависящего контекста контейнера загружаются в этот же момент несколькими потоками.
  • Фаза установки плагинов контекста, вызывается метод ContextPlugin.install(ContextManager).
  • Загрузка дерева контекстов, вызывается метод всех контекстов Context.start(). Все дочерние контексты любого зависящего контекста контейнера загружаются в этот же момент несколькими потоками.
  • Загрузка плагинов, вызывается метод всех плагинов контекста ContextPlugin.launch(). Он включает в себя загрузку встроенного web сервера при условии, что он реализован как плагин контекста.
  • Инициализация соединения. Большинтсво сокетов сервера, которые принимают входящие соединения, открыты на этой стадии.
  • Создание встроенных ресурсов. Эта стадия происходит только при первой загрузке сервера.