Я создаю веб-приложение Java, используя CDI. Моя война включает в себя различные файлы Jar, которые являются источниками бобов (включая файл META-INF/beans.xml). Мои бобы автоматически обнаруживаются при работе внутри контейнера Java EE, такого как JBoss (в настоящее время я использую JBoss AS 7.1.1). Это очень хорошо работает.Позднее обнаружение бобин с использованием CDI
Я хочу иметь возможность расширять веб-приложение, в идеале, позволяя ему загружать классы из файлов Jar, хранящихся в настраиваемом месте (поэтому в местоположении, указанном системным свойством). Это тоже нормально, поскольку я могу использовать ClassLoader для решения классов и ресурсов. То, что мне не хватает, - это возможность иметь CDI для сканирования этих внешних файлов Jar и включать их компоненты.
Это позволит моему приложению размещать подключаемые модули, включая новые ресурсы REST. Я не возражаю, если мне пришлось перезапустить приложение для его сбора классов и ресурсов, содержащихся в этих внешних файлах Jar.
Я не вижу возможности достичь этого. Это даже то, что нужно предпринять в такой среде?
Спасибо. Я думаю, что вижу потенциальный подход. Я создал расширение CDI. Это @Observes событие AfterBeanDiscovery и отвечает путем поиска плагинов и регистрации их с событием. Это делает плагины доступными через BeanMananager. Мне нужно посмотреть дальше, чтобы узнать, могу ли я зарегистрировать ресурсы REST, которые могут существовать в подключаемом модуле, но для базовых функций, похоже, решает некоторые из моих проблем. – William