Про embedded equinox

Mar 18, 2010 13:26

Вот есть, скажем, приложение.
И есть необходимость использовать OSGi-style сервисы в нем.
Один из вариантов - сделать свой бандл c приложением.
Другой вариант - встроить osgi-engine.
Вот насчет этого второго варианта и вопрос.
Скажем, запускаю я Equinox следующим образом:

BundleContext ctx = EclipseStarter.startup(args, null);
startup, как говорят в документации
Returns:
BundleContext the context of the system bundle

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


Например, есть бандл foo-api.jar, который экспортирует пекедж foo, в котором есть интерфейс IFoo.
И есть бандл foo-impl.jar, который регистрирует сервис FooImpl (с интерфейсом) IFoo
В приложении мне нужно сделать примерно следующее
IFoo foo = serviceTracker.getService();
При этом, насколько я понимаю, IFoo класслоадером приложения найден не будет.
Как разрешаются такие проблемы?
Previous post Next post
Up