Вы можете взглянуть на диаграмму состояний в OSGi Core Spec (это должно быть Рис.28).Там вы можете увидеть, что пакет в состоянии STARTING может перейти только в состояние ACTIVE (за исключением случаев, когда выдается исключение).Пакет может быть обновлен только тогда, когда он находится в состоянии INSTALLED или RESOLVED.Для этого он должен быть остановлен, если он находится в состоянии ACTIVE.
Проблема в том, что вы не можете остановить пакет, когда он находится в состоянии STARTING.И пока выполняется метод start () Activators, пакет все еще находится в состоянии STARTING, а не ACTIVE.
Что вы можете сделать, это запустить поток в Bundle, который проверяет его состояние на ACTIVE, а затем вызватьметод update ().Но не забудьте прекратить поток, иначе сборщик мусора не сможет освободить ресурсы из файла JAR текущего пакета.