Tomcat, загрузчики классов и плагины - PullRequest
0 голосов
/ 13 ноября 2018

Я бы хотел добавить систему плагинов в мое веб-приложение Tomcat.Для эксперимента я добавил небольшой Plugin интерфейс в веб-приложение и реализовал его в MyPlugin, который не является частью развернутой войны.Веб-приложение читает файл конфигурации и использует отражение для инициализации плагинов.

Все работает, как и ожидалось, если я скопирую банку, содержащую MyPlugin, в webapps/mywebapp/WEB-INF/lib.Однако, если я сделаю это, то плагин будет перезаписан при следующем развертывании.

Я попытался переместить банку в отдельный каталог за пределами распакованной войны и затем указал shared.loader в conf/catalina.properties там, но теперьЯ получаю исключение, что MyPlugin не может быть приведен к Plugin.Очевидно, интерфейс и класс загружаются с использованием разных загрузчиков классов.

Какой лучший способ решить эту проблему?

...