附加新部署的Fragment捆绑包时,OSGi Framework对Host捆绑包有何作用?

时间:2019-08-09 17:05:43

标签: osgi osgi-bundle

我有一个带有组件的片段捆绑包,该组件具有@Activate注释的activate方法。我找不到有关应该还是不应该起作用的任何确定信息。

一方面,在框架将片段附加到主机,然后重新启动主机的意义上,它可能应该工作。然后,该组件的activate方法将启动,因为它现在是主机的一部分,该主机会再次激活。

另一方面,它可能应该不起作用,因为在附加片段时,框架不会重新启动主机。在这种情况下,activate方法永远不会触发。

我尝试自己修补捆绑包,看来不起作用,但是我不确定这是由于我上面提到的后一种情况还是由于其他原因。我尝试查看documentation,除了片段被解析的事实之外,没有提及框架如何在附件期间处理片段和主机的生命周期。

那么,我的问题是,在附加新部署的片段时,OSGi框架对主机有何作用?

1 个答案:

答案 0 :(得分:4)

声明性服务不支持片段清单中的Service-Component头。因此,尽管组件的类和组件的XML组件描述可以来自片段,但是片段清单中的任何Service-Component头都不会被处理。

请参见https://osgi.org/specification/osgi.cmpn/7.0.0/service.component.html#d0e38069