在启动期间在框架侦听器和事件之间进行同步

时间:2014-12-09 02:05:51

标签: osgi apache-felix

OSGi第5版,通过Felix版本4.4.1。

我纯粹通过OSGi API嵌入框架,没有任何特定于Felix的框架。因此,我使用SPI获取框架类名,创建实例并初始化它。

然后我安装捆绑包,启动所有捆绑包,并start()框架。

现在,如果出现问题,将提供框架事件。 Felix在一个单独的线程上提供这些。如何将事件传递与start()返回同步? FrameworkStartLevel.setStartLevel有一个接受监听器的选项,并保证在它返回之前调用它们,但这只有在我将开始级别提高到1以上时才有用。我想我可以将所有的包设置为从第2级开始,因此推迟启动,直到我打电话将级别提升为2,从而获得所需的同步。是否有更简单的方法将所有内容都保留在1级?

0 个答案:

没有答案