В чем разница между osgi.startLevel и osgi.bundles.defaultStartLevel

#java #osgi #equinox

#java #osgi #равноденствие

Вопрос:

В чем разница между osgi.startLevel и osgi.bundles.defaultStartLevel присутствует в config.ini реализации equinox OSGI. Я также хочу знать, как эти элементы конфигурации связаны с количеством развертываемых пакетов?

Ответ №1:

Происходит две вещи: текущий начальный уровень платформы OSGi и требуемый начальный уровень каждого пакета.

Когда фреймворк достигает определенного начального уровня, все пакеты на этом начальном уровне запускаются. Поэтому, когда фреймворк переходит на уровень 6, запускаются все пакеты, которые находятся на уровне 6 (но пакеты на уровне 7 еще не запущены).

osgi.startLevel это просто начальный уровень, который фреймворк OSGi попытается достичь после его загрузки.

osgi.bundles.defaultStartLevel это начальный уровень, который имеет любой пакет по умолчанию, если вы не установили для него что-то другое.

Так, например, если вы установите osgi.startLevel значение 3 и osgi.bundles.defaultStartLevel 4, то в основном никакие пакеты не будут запущены!