Итак, у меня есть этот код, который я вызываю для обновления пакетов в Apache Felix Framework
во время запуска, но я обновляю только пакеты, для которых намеренно установил уровень 7 и выше. Всякий раз, когда этот код выполняется, обновленный пакет удаляется из списка, а консоль зависает. В других случаях статус обновленного пакета — ACTIVE
, но консоль также зависает.
Arrays.stream(bundleContext.getBundles())
.filter((bundle) -> return bundle.adapt(BundleStartLevel.class).getStartLevel() > 6;
.forEach((Bundle bundle) -> {
try {
this.logger.log(LOG_DEBUG, "updating : " + bundle.getSymbolicName());
if (bundle.getState() == Bundle.ACTIVE) {
bundle.stop();
}
bundle.update();
bundle.start(Bundle.ACTIVE);
} catch (BundleException exception) {
this.logger.log(LOG_ERROR, "Bundle update for " + name + " failed.", exception);
}
});
Есть ли правильный способ обновить пакеты в Apache Felix Framework
?