PB-Plugins-Manager
Описание
Менеджер для запуска плагинов
Языки
- Java100%
PB-Plugins Platform
Manager
Description
Менеджер запуска плагинов для платформы .
Before using
Для использования менеджера - необходимо его подключить как зависимость к своему проекту.
Пакет доступен в центральном репозитории Maven.
Usage
PluginScheduler
Основной класс, реализующий функционал циклического запуска плагинов
на основе их настроек:
принимает в конструкторе:
с загруженными плагинами.PluginManagerдля многопоточного запуска плагинов.PluginExecutor
должен быть закрыт после завершения работы и реализует ,
так что может вызываться в блоке try-with-resources.
PluginExecutor
Запускает задачи в отдельных потоках с предотвращением нескольких одновременных запусков одной задачи. Если прошлый запуск одной задачи не завершился - следующий ее запуск будет игнорирован. Тогда как другие задачи могут быть запущены.
Количество потоков можно задать при создании.
PluginManager
Производит загрузку, хранение и запуск плагинов.
При создании менеджера необходимо передать загрузчик плагинов, реализующий интерфейс .
В сборке реализован загрузчик плагинов из jar-файлов . При необходимости можно реализовать свой.
Так же в менеджере реализована отправка оповещений по email о возникших ошибках в работе плагинов.
Конструктор менеджера имеет перегрузку конструктора, принимающий
JarPluginLoader
Дефолтный загрузчик плагинов, реализующий загрузку плагинов в виде jar-файлов. Jar-файлы для успешной загрузки должны соответствовать спецификации:
- В Jar-сборке должен быть класс, реализующий класс
из библиотеки PB-Plugins-Core.Plugin - Такой класс может быть только один. Его метод
является точкой входа в программу.run
Простой пример использования: