所以我学习了如何使用 eclipse-kura 来实现物联网应用程序。我的问题是,是否每个组件都有自己的 eclipse-project/bundle,或者多个组件是否可以在同一个包中(因为在我的 OSGI-INF 中将包含 2 个不同类的 2 个组件定义)。
我在任何地方都找不到任何例子。由于我是这方面的初学者,并且正在尝试理解这些概念,因此我将不胜感激。
所以我学习了如何使用 eclipse-kura 来实现物联网应用程序。我的问题是,是否每个组件都有自己的 eclipse-project/bundle,或者多个组件是否可以在同一个包中(因为在我的 OSGI-INF 中将包含 2 个不同类的 2 个组件定义)。
我在任何地方都找不到任何例子。由于我是这方面的初学者,并且正在尝试理解这些概念,因此我将不胜感激。
简短的回答:这取决于你。
长答案:你可以随心所欲地做;)
OSGi 中没有规则禁止将多个组件(声明式服务并使用@Component 注释的类)放在一个包中。然而,这在一定程度上取决于您如何定义捆绑包的边界,即,您是为每个功能创建一个捆绑包,还是在 x 层应用程序中为每层创建一个捆绑包(例如,一个捆绑用于 db,一个捆绑用于逻辑和一个用于 GUI 的捆绑包)。这些示例完全是任意的,但是您可以看到,根据您定义捆绑包范围的方式,有时将多个组件放在一个捆绑包中是有意义的,有时则不然。
关于我建议如何构建捆绑包:
也许可以在 OSGi enRoute 的示例中找到一个很好的示例:https ://enroute.osgi.org/Tutorial/
亲切的问候,托马斯