2013-07-03 4 views
0

Есть ли способ управления порядком, в котором загружаются пакеты OSGi внутри функциональных элементов esb-плавких предохранителей, чтобы последующие связки зависели от полной загрузки более ранних? Например, в следующей функции, я хочу, модуль простого клиента, чтобы начать работать только один раз полностью загружены предыдущие пакеты:Предохранитель ESB Fabric Характеристика комплекта поставки

<features name="simple-service-features"> 
    <feature> 
     <bundle>mvn:com.company/simple-datasource/0.0.0</bundle> 
     <bundle>mvn:com.company/simple-model/0.0.0</bundle> 
     <bundle>mvn:com.company/simple-service/0.0.0</bundle 
     <bundle>mvn:com.company/simple-client/0.0.0</bundle> 
    </feature> 
    </features> 
+0

Я не знаю, как Fuse ESB управляет загрузкой своего пакета, однако с точки зрения OSGi правильный подход заключается в том, чтобы всегда устанавливать ** ВСЕ ** пакетов перед запуском ** ЛЮБОЙ ** из них. Если вы это сделаете, порядок установки не имеет значения. –

+0

Есть ли какой-нибудь крючок, который говорит нам, когда все пучки инициализированы? – Ellis

+0

OSGi не сможет сказать вам это, потому что он не знает, сколько пакетов вы собираетесь установить. Ваш пусковой агент или агент управления узнает, когда это будет сделано. –

ответ

0

Вы можете использовать атрибут запуск уровень расслоения тега в features.xml для последовательного запуска пучков OSGI.

Начальный уровень связан с каждым комплектом. Начальный уровень представляет собой положительное целочисленное значение, которое управляет порядком активации/запуска пакетов. Связки с низким начальным уровнем запускаются перед пучками с высоким начальным уровнем. Следовательно, сначала начинаются пучки с начальным уровнем 1, а пучки, принадлежащие ядру, имеют более низкие начальные уровни, поскольку они обеспечивают предпосылки для запуска большинства других пакетов.