Архитектура плагинов Dynami c. Загрузка файлов JAR из каталога в загрузочном приложении Spring - PullRequest
0 голосов
/ 03 марта 2020

Я знаю, что этот вопрос возник тут и там, но сообщения об этом довольно старые.
У меня есть приложение Spring Boot. Мне нужно разрешить разработчикам разрабатывать плагины, реализовывать интерфейс и позволять моему приложению динамически загружать их при запуске.
Мне не нужно обнаружение во время выполнения, загрузка при запуске достаточно хороша.
Не знаю Я не хочу, чтобы мои клиенты развивали микроуслуги. Я хочу в процессе модули, которые будут загружены в приложение.
Запись XML файла с плагинами для загрузки списка является вариантом, хотя я предпочитаю простую конфигурацию, насколько это возможно, и, если этого можно избежать, лучше. Я видел несколько вариантов:

  • OSGi ( Очень сверхмощный для моих нужд)
  • JPF (Последнее обновление 2007 г.)
  • JSPF (Я даже не могу найти страницу GitHub для этого).

Я действительно хочу что-то быстрое и легкое без крутой кривой обучения. Как уже упоминалось, он должен хорошо играть с Spring Boot. Какие у меня варианты?

1 Ответ

0 голосов
/ 03 марта 2020

Вы можете использовать PropertiesLauncher для добавления дополнительных путей к вашему приложению:

Основной класс должен быть:

Main-Class: org.springframework.boot.loader.PropertiesLauncher

А затем вы можете запустить приложение:

java -jar my-app.jar --loader.path=lib,external-jar.jar

Подробнее об этом читайте здесь: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#executable -jar-launching

и здесь https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#executable -jar-property-launcher-features

...