Как зарегистрировать банку OSGIhost (саму) в DS?

Я пытаюсь создать приложение, которое может запускать felix, а также публиковать службы в пакете «Декларативные службы». Но мой «феликс-стартер» и сервисы фактически находятся внутри одной банки.

Я предполагаю, что банка содержит как osgi-host (Felix), так и разное. services должен содержать файл xml с описанием предоставляемых/требуемых услуг для «DS». Но я не знаю, возможно ли (пока jar уже загружен, например, webstart, таким образом, для него настроен ClassLoader) программно передать этот XML в пакет DS.

Возможно ли это каким-то образом, или это в конечном итоге будет противно?

Спасибо


person Houtman    schedule 30.07.2009    source источник


Ответы (2)


FWIW, вы можете поместить свои jar-файлы пакета (как jar-файлы, а не извлеченные) в «главный» jar-файл и загрузить их оттуда (пакет можно загрузить из любого типа InputStream).

Кажется, это то, что делают люди, пытающиеся интегрировать WebStart с OSGi: см. jnlp">связанный с этим вопрос о динамической загрузке дополнительного файла jar с помощью WebStart.

person Thilo    schedule 03.08.2009

Я думаю, мне лучше сделать это очевидным способом. Имейте одну банку, содержащую хост felix, другую банку, являющуюся пакетом приложений, а затем еще несколько банок, представляющих собой пакеты компендиума. Таким образом, он также легко обслуживается

person Houtman    schedule 31.07.2009