Мы запускаем наше приложение во время выполнения Equinox OSGi. Существуют механизмы расширения, которые используются вместе с самой OSGi для загрузки плагинов от сторонних разработчиков. Проблема состоит в том, что эти плагины могут представлять пакеты, которые мешают «базовому» приложению или другим плагинам.
Именно поэтому я экспериментирую с Aries Subsystem 2.0.10, чтобы ввести некоторую область видимости в микс и избежать вмешательства в «основное» приложение и другие плагины, а также позволить разработчикам плагинов использовать версии общих библиотек. (например, весна), что они хотят.
В настоящее время я генерирую ESA из набора пакетов плагинов и устанавливаю подсистему типа Application в среде OSGi.
Проблема начинается при запуске подсистемы, наши механизмы расширения (внутри области ядра) зависят от того, запускаются ли BundleEvents для набора начальных комплектов внутри подсистемы, но подсистема развернута в своем собственном регионе, поэтому события комплекта фильтруются, и никогда не доходить до слушателей в области ядра.
Есть ли способ получить BundleEvents из области подсистемы в области ядра, без использования "искусственного" пакета внутри подсистемы, который ретранслирует указанные события по некоторой глобальной шине событий?