Я пытаюсь встроить Equinox в наше приложение на стороне сервера. Удалось запустить программный фреймворк osgi (через Spring). Системный пакет устанавливается и запускается неявно (я думаю). Однако я заметил, что ни один из системных пакетов не экспортируется!
osgi> ss
Framework is launched.
id State Bundle
0 STARTING org.eclipse.osgi_3.7.1.R37x_v20110808-1106
osgi> packages 0
No exported packages
В результате все плагины, которые я пытаюсь запустить, перестают работать, так как все они импортируют пакет org.osgi.framework.
Кто-нибудь сталкивался с этим? Я что-то пропустил?
Спасибо большое!
Восхождение по крутой кривой обучения для OSGI
Мой код:
private void bootstrapOsgiFmk() {
logger.info("Starting OSGI framework");
FrameworkFactory frameworkFactory = ServiceLoader.load(FrameworkFactory.class).iterator().next();
Map<String, String> config = new HashMap<String, String>();
config.put("osgi.console", "1234");
config.put(Constants.FRAMEWORK_STORAGE, "osgilogs/");
config.put(Constants.FRAMEWORK_STORAGE_CLEAN, "true");
config.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA,"com.other.pkg");
Framework framework = frameworkFactory.newFramework(config);
try {
framework.start();
} catch (BundleException e) {
logger.error("Fail to start osgi framework.", e);
}
logger.info("OSGI started");
context.registerService(IQuoteService.class.getName(), new SimpleQuote(),null);
}