Equinox系统捆绑包不导出包

时间:2012-01-13 17:46:20

标签: osgi equinox

我正在尝试将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

因此,我尝试启动的所有插件都失败了,因为它们都是import package 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);
}

0 个答案:

没有答案