Пожалуйста, не используйте System.exit (0) для завершения работы OSGi. Вы должны сделать это, остановив пакет с идентификатором 0, системный пакет. Таким образом, вы даете всем пакетам возможность корректно завершить работу (например, освободить ресурсы и т. Д.).
Спецификация OSGi определяет следующее (Базовая спецификация, R4.x, 4.2.6 Остановка фреймворка).
Завершение работы может быть инициировано путем остановки системного пакета, [...] или вызова метода stop для объекта платформы.
В этой главе дается подробное описание того, что происходит при закрытии фреймворка.
Комплект системы соотв. также определен объект фреймворка (глава 4.6 Комплект системы):
Системный комплект похож на объект каркаса при запуске каркаса, но реализации не обязаны использовать один и тот же объект для объекта каркаса и комплекта системы. Однако оба объекта должны иметь идентификатор пакета 0, одинаковое местоположение и символическое имя пакета.
Спецификация OSGi доступна бесплатно на сайте OSGi Alliance (http://www.osgi.org/Specifications/HomePage).