2011-12-21 3 views
0

У меня есть продукт Eclipse с использованием функций. Все сервисы регистрируются через декларативные услуги. Насколько я понимаю, для запуска Service Component Runtime необходимо запустить пакет, а затем зарегистрировать службы, выставленные в каждом комплекте.Eclipse/Equinox: запуск всех установленных плагинов?

Я хочу автоматически запускать каждый комплект, установленный в моей среде OSGi. Есть ли простой способ сделать это? Единственное, что я могу найти, это параметр «Продукт»> «Конфигурация»> «Начальные уровни»> «Автозапуск». Я не хочу этого делать в каждой сборке продуктов, которые у меня есть с тех пор, как я хотел перейти к функциям в группу &, чтобы начать схожие сборки вместе.

Есть ли простой/рекомендуемый способ сделать это?

ответ

1

Я думаю, что проблема переполнения стека/ответа [1], всесторонне обсудите ваше требование. , или если вы используете продукт с поддержкой p2, вы можете установить параметр start-by-default в значение «true» в файле bundles.info. Но это хакерский подход.

[1] In Equinox Is it possible to to mark an OSGi bundle as started from its containing feature's p2.inf?

+0

Я закончил создание META-INF/p2.inf с содержимым 'instructions.configure = markStarted (начато: true)' в каждом комплекте. Я не хочу настраивать каждую функцию. Благодарю. – oconnor0

-1

Удалить Bundle-ActivationPolicy: lazy из вашего MANIFEST.MF и убедитесь, что атрибут enabled="false" является не в вашем определении компонентов!

+0

Это гарантирует, что только после того, как будет запущен содержащийся плагин, все службы будут активированы. Я хочу заставить запускать все плагины при запуске Equinox. – oconnor0