Использование OSGi для автоматического обновления

Что я хотел бы сделать, так это создать "пусковую" структуру для моего кода, которая, учитывая URL-адрес и предопределенную схему управления версиями: 1) пойти проверить, существует ли обновление 2) скачать обновления 3) "установить" обновление 4) "повторно запустить" приложение

Я хочу: a) сделать все это внутри существующей JVM и b) быть независимой от платформы. Высокий порядок? Основываясь на моих (ограниченных) знаниях OSGi и Apache Felix, я уверен, что это возможно, но я действительно теряюсь в деталях.

Проверка обновления и загрузки - тривиально. Причинение "старого" пакета для разгрузки, а "новый" комплект для загрузки - это то место, где я застреваю. Я работал в OSGi в прошлом, но это было намного менее динамично, чем это. Хорошее стартовое место или жесткий толчок в правильном направлении были бы наиболее ценными.

Если я серьезно переработаю то, что уже было решено с помощью бесплатной библиотеки, тогда скажите мне это тоже, но я пока ничего не нашел.: -)

Ответ 1

Вам даже не нужно его загружать, просто проверьте, доступно ли обновление, а затем вызывается Bundle.update(InputStream) в комплекте, который необходимо обновить, в целом после этого следует вызов PackageAdmin.refreshPackages() после этого.

Ответ 2

вы можете проверить известные решения для обеспечения безопасности, которые могут выполнять все ваши действия вместо вас (проверьте наличие новой версии, загрузите, установите/обновите, перезапустите и т.д.)

С наилучшими пожеланиями, Дмитро