Феликс Как получить список всех зависимых пакетов из обновленного пакета

Возможный дубликат:
Найти зависимые пакеты в Eclipse во время выполнения

Как получить список всех зависимых пакетов из обновленного пакета? Например, ситуация, когда какое-то приложение загружает одинаковые пакеты. В один раз я обновлю один комплект. Как я могу получить все пакеты, которые зависят от обновленного пакета? Это необходимо для перезапуска всех пакетов, которые зависят от обновленного пакета, чтобы они могли видеть новый объект обновленного пакета. Извините, мой плохой английский. С наилучшими пожеланиями, Артур.

2 ответа

Решение

Используйте метод FrameworkWiring.getDependencyClosure.

Если вы видите Поиск зависимых пакетов в Eclipse во время выполнения:

Акр пишет:

Нет простого способа определить зависимость. Лучший способ - пройти через интерфейс PackageAdmin. См. Спецификацию OSGi для PackageAdmin и getImportingBundles, в частности: http://www.osgi.org/javadoc/r4v42/org/osgi/service/packageadmin/ExportedPackage.html

Вам необходимо определить для всех установленных пакетов, какой из них экспортирует один или несколько пакетов>, которые импортирует ваш пакет. Самый простой способ добиться этого - вызвать PackageAdmin.getExportedPackages(Bundle bundle) с bundles = null. Это возвращает массив> всех экспортируемых пакетов. Затем вам нужно перебрать этот массив и вызвать ExportPackage.getImportingBundles().

Другие вопросы по тегам