Обновление пользовательских JAR-файлов медиатора без перезапуска сервера wso2ei (интегратор) - PullRequest
0 голосов
/ 28 ноября 2018

Есть ли способ обновить / обновить пользовательский посредник (файл jar), расположенный в папке wso2ei/lib, без перезапуска всего сервера wso2ei (integrator.sh)?

Существует приложение Carbnon, котороеиспользует, скажем, x mediator (x.jar), и всякий раз, когда появляется обновленная версия посредника (x.jar), я делаю следующее:

  • stop wso2 интегратор integrator.sh -stop
  • удалить все dropins/*
  • удалить все tmp/*
  • удалить x.jar в wso2ei/lib
  • загрузить новый x.jar в этот каталог
  • запуск wso2 интегратора integrator.sh -start

1 Ответ

0 голосов
/ 28 ноября 2018

По умолчанию - не поддерживается замена библиотеки на лету (кроме веб-приложений).Таким образом, официально, если вам нужно, чтобы ваши службы работали и работали, вы должны использовать несколько узлов EI и использовать непрерывное обновление.Я предлагаю вам сделать это простым.

Однако - если вам хочется углубиться - код углерода wso2 (основа wso2ei) построен на контейнере p2 osgi, который теоретически позволит вам установить иудалить пакеты на лету.(хотя wso2, вероятно, не будет поддерживать этот тип развертывания)

  • Вы можете запустить wso2ei с параметром -DosgiConsole и запустить консоль osgi на определенном порту -DosgiConsole=<port number>, см.https://www.yenlo.com/blog/access-wso2-osgi-console-using-telnet

  • Здесь мы предполагаем, что вы можете создать пакет osgi, а не простую библиотеку jar (вы должны быть действительно знакомы с технологией и параметрами osgi)

  • Изконсоль вы можете установить, удалить пакеты https://wiki.eclipse.org/Equinox/p2/Console_Users_Guide и есть команды install и uninstall

Обратите внимание: если есть какие-либо другие пакеты, использующие ваши классы, они становятсяостановлен и установка другой версии может не привести к их восстановлению (например, вы не можете просто заменить уже загруженный драйвер .db)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...