实施 OSGi 包时,Blueprint 是否会替换 Activator class?

Does Blueprint replace Activator class when implementing a OSGi bundle?

我是 Opendaylight 的新手,我目前正在尝试开发一个应用程序来获取数据包,分析它们,然后将它们分派给其他应用程序。 蓝图是否取代了创建 Activator class 以向 OSGi 框架注册组件的需要?或者我们还需要激活器来实例化和设置依赖吗? 据我所知,蓝图已经这样做了,我说得对吗?

任何帮助将不胜感激!

是的,Blueprint 会为您处理 OSGi 注册和发现,只要您在 Blueprint 描述符中声明适当的元素:<reference/> 查找服务,<service/> 公开一个. ODL wiki 上的 Using Blueprint 页面详细介绍了蓝图的使用,包括 OSGi 集成和 MD-SAL 集成。

在许多情况下,如果您使用的是 ODL 父 POM,则可以利用蓝图自动装配,使用 @Singleton@Inject 注释而不是编写 XML 文件。

(您可以忽略所有配置子系统部分,已弃用。)