Как мне зарегистрировать OSGIhost jar (сам) в DS?
-
05-07-2019 - |
Вопрос
Я пытаюсь создать приложение, которое может запускать felix, а также публиковать сервисы в пакете "Декларативные сервисы".Но с моим "felix-starter" и сервисами, фактически находящимися в одной банке.
я предполагаю, что jar содержит как osgi-host (Felix), так и разное.сервисы должны содержать xml-файл, описывающий предоставляемые / требуемые сервисы для 'DS'.Но я не знаю, возможно ли это (в то время как jar уже загружен, напримерwebstart, таким образом, для него настроен загрузчик классов) для программной передачи этого XML в пакет DS.
Возможно ли это каким-то образом, или это в конечном итоге будет неприятно?
Спасибо
Решение
FWIW, вы могли бы поместить свои jar-файлы пакета (в виде jar-файлов, а не извлеченных) в "главный" jar-файл и загрузить их оттуда (пакет может быть загружен из любого вида InputStream).
Похоже, это то, что делают люди, пытающиеся интегрировать WebStart с OSGi:видишь это связанный вопрос о динамической загрузке дополнительного файла jar с помощью WebStart.
Другие советы
Я думаю, мне лучше сделать это очевидным способом.Имейте один jar, который содержит felix host, другой jar - это app-bundle, затем еще несколько jar - это пакеты compendium.Таким образом, он также легко ремонтопригоден