2016-05-13 8 views
0

В настоящее время у меня есть приложение, использующее контейнер Equinox OSGI, который работает как на Windows, так и на Linux. На каждой платформе есть собственные сценарии запуска. Как часть обновления иногда контейнер необходимо перезапустить. Есть ли способ с помощью кода JAVA перезапустить контейнер Equinox OSGI без вызова сценария конкретной платформы?Независимый от платформы способ перезапуска контейнера Equinox?

+0

Я думаю, что перезапуск пучка с ID 0 делает трюк. –

ответ

0

Да, просто запустите рамку, используя API FrameworkFactory.

Когда ваша программа запуска выполнила все необходимые настройки, она должна вызвать framework.waitForStop(), которая блокируется до тех пор, пока OSGi не выключится. Этот метод также возвращает FrameworkEvent, на который вы можете посмотреть. Если тип события равен STOPPED_UPDATE, вам нужно снова вернуться назад и загрузить фреймворк.

Смежные вопросы