PB-Plugins-Manager

0

Описание

Менеджер для запуска плагинов

Языки

  • Java100%
README.md

PB-Plugins Platform


Manager



Description

Менеджер запуска плагинов для платформы

PB-Plugins-Platform
.


Before using

Для использования менеджера - необходимо его подключить как зависимость к своему проекту.

Пакет доступен в центральном репозитории Maven.


Usage


PluginScheduler

Основной класс, реализующий функционал циклического запуска плагинов на основе их настроек:

PluginScheduler

PluginScheduler
принимает в конструкторе:

  • PluginManager
    с загруженными плагинами.
  • PluginExecutor
    для многопоточного запуска плагинов.

PluginScheduler
должен быть закрыт после завершения работы и реализует
AutoCloseable
, так что может вызываться в блоке try-with-resources.


PluginExecutor

Запускает задачи в отдельных потоках с предотвращением нескольких одновременных запусков одной задачи. Если прошлый запуск одной задачи не завершился - следующий ее запуск будет игнорирован. Тогда как другие задачи могут быть запущены.

Количество потоков можно задать при создании.


PluginManager

Производит загрузку, хранение и запуск плагинов.

При создании менеджера необходимо передать загрузчик плагинов, реализующий интерфейс

PluginLoader
. В сборке реализован загрузчик плагинов из jar-файлов
JarPluginLoader
. При необходимости можно реализовать свой.

Так же в менеджере реализована отправка оповещений по email о возникших ошибках в работе плагинов.

Конструктор менеджера имеет перегрузку конструктора, принимающий

MailClient


JarPluginLoader

Дефолтный загрузчик плагинов, реализующий загрузку плагинов в виде jar-файлов. Jar-файлы для успешной загрузки должны соответствовать спецификации:

  • В Jar-сборке должен быть класс, реализующий класс
    Plugin
    из библиотеки PB-Plugins-Core.
  • Такой класс может быть только один. Его метод
    run
    является точкой входа в программу.

Простой пример использования: