Загружает ли метод OSGi Bundle.update() также новые зависимости

У меня та же цель, что и у человека здесь: Использование OSGi для реализации автоматического обновления

По сути, я хочу иметь возможность автоматически обновлять пакеты в своих приложениях. В сообщении выше упоминается, что вы можете просто вызвать Bundle.Update(), но будет ли это также загружать новые зависимости, если некоторые из них были добавлены с предыдущей версии? Если да, то где он их ищет?

Кроме того, что отличает это решение от инструментов управления инициализацией, как обсуждается здесь: В чем разница между функциями в Karaf и OBR

То есть, зачем вам использовать что-то вроде OBR вместо этого метода Bundle.update().


person Oleksi    schedule 26.01.2012    source источник


Ответы (1)


Нет, bundle.update() обновляет только тот отдельный пакет, который вы обновили, и ничего не делает с другими пакетами. Поэтому вполне возможно, что после обновления пакет больше не будет разрешаться из-за отсутствующих зависимостей. Именно поэтому вы должны использовать что-то более высокого уровня, например, OBR или Karaf и т. д., а не bundle.update().

person Neil Bartlett    schedule 27.01.2012