Связки OSGi и войны
Возможно ли иметь стандартное военное развертывание, которое можно развернуть на tomcat, а также можно собрать как пакет OSGi и развернуть с другими пакетами в контейнере OSGi tomcat(я думаю, virgo)?
2 ответа
Да, между WAR и WAB существует много возможностей взаимодействия. Apache Aries и WebSphere Application Server при развертывании преобразуют WAR-ы в WAB-файлы. Это хороший способ начать работу, но лучше использовать правильные WAB, в которые вы сами встраиваете метаданные OSGi. Дополнительные заголовки OSGi не будут мешать развертыванию в обычном контейнере Tomcat, поэтому WAB обладает наибольшей гибкостью.
Для вашей сборки у вас есть несколько вариантов. Например, плагин maven bundle можно настроить для создания WAB, или вы можете использовать инструментальную поддержку Eclipse PDE для метаданных OSGi.
Pax-Url-War предоставляет эту функциональность таким контейнерам, как Apache Karaf. Вкратце, это позволяет вам импортировать URL-адрес, такой как war:file:///path/to/myapp.war, и Pax обернет его как OSGi-пакет, опционально изменяя корневой URL-адрес и другие параметры на лету.