Существует множество способов создания модулей плагинов.Некоторые идеи:
Вы можете упаковать каждый модуль плагина как jar, а в корень classpath этого jar поместить файл конфигурации Spring с конфигурацией bean, так что если вы используете определенный плагин.Вы можете "включить" компоненты этого пакета в веб-приложении, просто добавив этот файл в параметр contextConfigLocation в своем файле web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:module1.xml
classpath:module2.xml
classpath:module3.xml
classpath:module4.xml
</param-value>
</context-param>
, чтобы вы могли использовать эти компоненты в своем веб-приложении.приложение.Другой способ сделать это - использовать подход, основанный на аннотациях.Или вы можете смешать методы.
Некоторое время назад я структурировал способ автоматического горячего обнаружения (во время выполнения, без необходимости перезапуска приложения) плагинов в настольном приложении путем обнаружения всех реализаций определенногоабстрактный класс (контракт) в classpath.Итак, все, что мне нужно было сделать, чтобы создать новый плагин, - это реализовать этот «контракт».Для этого я использовал некоторые вкусности "загрузчика классов".
Говоря о "модулях", может быть, вы хотели бы увидеть кое-что о OSGi
Ну ...это некоторые идеи.Я надеюсь, что это поможет в любом случае.; -)