适用于Spring和其他应用程序的OSGi Bundles

时间:2010-12-23 07:35:17

标签: java spring osgi

如果我使用OSGi框架(bundle)开发模块,我可以将它们集成到任何基于OSGI的应用程序(如Spring)中吗?对于

我需要注意什么?上下文或不同的数据模型怎么样?

2 个答案:

答案 0 :(得分:1)

您可以对编程语言提出同样的问题:如果您使用Java开发某些东西,您是否可以将它集成到每个基于Java的框架中?答案是:它取决于。

  • 如果您的意思是通过集成“一次开发功能并在不更改所有应用程序的情况下进行部署”,那么您就不幸了。虽然OSGi是标准化的,但您应该将您开发的模块和服务视为低级构造:任何应用程序框架(如Spring)都以自己的方式构建在低级构造上。
  • 另一方面,如果你的意思是“部署它们并从你自己的代码开始使用它们”,是的,你通常可以混合使用它。如果您愿意写一些“胶水代码”,请以您喜欢的任何方式匹配捆绑包和服务。

一般情况下,是的,你可以拿你的包,并整合,但它不是免费的。如果你把它打包好的话,它可能会更容易集成你的功能。

答案 1 :(得分:0)

理论上,是的。如果目标OSGi应用程序是OSGi规范的不同版本(3,4,4.2等),则必须小心。您还必须注意是否使用了特定于平台的API。